以前学过的东西都没怎么整理,比较杂乱,现在通过写博客,整理一下自己学过的东西,温习一下,会有不同的收获。
基础协议
HTTP:即超文本传输协议,是一种无状态的协议,只能由客户端发起。(无状态是指WEB浏览器和WEB服务器之间不需要建立持久的连接),使用80端口进行连接,信息属于明文传输。
HTTPS:其实就是HTTP的“升级”版本,在HTTP下加入了SSL层。即通过安全传输机制进行传送数据,所以比HTTP协议要安全一些,使用443端口进行连接。(一般需要到CA申请证书)
Telnet:是TCP/IP协议中的一员,是intelnet远程登陆服务的标准协议和主要方式。默认23端口
FTP:文件传输协议是TCP/IP协议中的一员,默认端口为20、21端口
B/S:浏览器/服务端架构
C/S:客户端/服务端架构
HTTP状态码:
- 1XX:信息提示,表示请求已经被成功接收,继续处理。范围:100~101
- 2XX:成功,服务器成功的处理了请求。范围:200~206
- 3XX:重定向,用于告诉浏览器客户端访问的资源已被移动。范围:300~305
- 4XX:客户端错误,比如:一个不存在的URL。范围:400~415
- 5XX:服务端错误,比如服务器运行出错。范围:500~505
HTTP请求头:
Accept:告诉服务端自己接受的什么内容类型、*/*表示任何类型、type/*表示该类型下的任何子类型、type/sub-type
Accept-Charset:告诉服务端自己接受的字符集
Accept-Encoding:浏览器申明自己接受的编码方法,通常指压缩方法、是否支持压缩、支持什么压缩方法(gzip、deflate)
Accept-Language:浏览器申明自己接受的语言
Authorization:当客户端接受来自web服务器的www-Authenticate响应时、返回自己的身份验证信息给web服务器
if-match:如果对象的Etag没有改变,即:对象没有改变,才执行的请求动作,获取文档
if-none-match:如果对象的Etag改变了,即:对象改变,才执行的请求动作,获取文档
if-Range:浏览器告诉web服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过发送请求对象的Etag 或者自己所知道的 最后修改时间给web服务器,让其判断对象是否改变,总是和 Range 一起使用
Range:浏览器告诉服务器自己想取对象的哪一部分
referer:浏览器向web服务器表明自己时从那一个url进入到当前网页的,即:上一个页面
User-Agent:浏览器表明自己的身份,时哪种浏览器
HTTP响应头:
Conten-Encoding:文档的编码方法
Conten-Length:表示内容长度,只有在浏览器进行持久的HTTP连接的时候才需要这个数据
Conten-type:表示后面的文档属于什么MIME类型
set-cookie:设置和页面关联的cookie
www-Authenticate:客户应该在Authorization 头中提供什么类型的授权信息
Location:客户应当去哪里提取文档,用于接受端定位到资源的位置(重定向)
Allow:服务器支持哪些请求方法
Accept-Ranges:web服务器表明自己是否接受某个实体的一部分,bytes:表示接受、none:表示不接受
Refresh:1;url=http://www.baidu.com 隔多少秒之后,让当前页面去访问哪个页面
Etag:资源特定版本的标识符,这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web服务器不需要发送完整的响应。而如果内容发生了变化,使用ETag有助于防止资源的同时更新相互覆盖(“空中碰撞”)。
Last-Modified:web服务器认为对象的最后修改时间
ps:就先写到这吧,以后在更新
来源:博客园
作者:蹲在路边吃红薯
链接:https://www.cnblogs.com/Excellent-person/p/11333378.html