HTTP的报文
HTTP的报文
又称为HTTP消息 两种消息 请求(客户端向服务器发送的消息)跟响应(服务器返回给客户端的消息)
HTTP消息是ASCII编码的多行文本构成
HTTP消息请求消息
由一个HTTP的method,要获取的资源的路径(请求的地址),HTTP消息协议版本号,为服务器端表达其他信息的可选头部headers以及对一些像post这样的方法组成
HTTP消息响应消息
由HTTP协议版本号,一个状态码,一个状态信息,HTTPheaders以及含获取的信息body组成
HTTP消息结构
start line:起始行 描述执行的请求 或者是对应的状态 成功或失败 是单行的
HTTP headers:可选HTTP头集合指明请求或者描述消息正文
start line + HTTP headers 是请求头
empty line:表示所有关于请求的元数据已经发送完毕
body:包含请求相关数据的正文 或者响应相关的文档
empty line + body 是消息正文
起始行
包含三个元素:
请求方法:描述执行的动作 比如get获取资源
请求地址:URL 或者协议 端口 和域名的绝对路径
HTTP版本号
GET/home.html HTTP/1.1
请求方法
最常用的请求方法 GET POST
常见的请求方法至少有七种 GET HEAD POST PUT DELETE CONNECT OPTIONS
请求方法不止七种
GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH
请求头
请求头允许客户端向服务器传输附加信息
格式:
根据不同的情况 分为:
通用头:适用于请求头跟响应头
请求头:只用在请求中 实体头:具体的内容
Accept:text/html,… 服务器端接收的数据类型有哪些
Accept-Encoding:gzip,… 接收编码格式
Accept-Language:zh-CN,… 接收的语言
Connection:kepp-alive… 连接方式
Cookie:… 缓存
Host: … 当前客户端所在的地址信息
Referer:… 发送当前的地址
User-Agent: … 发送当前客户端信息
请求头主体
请求消息的最后一部分是请求主体 这是可选内容(要获得的资源等) 常见的有POST请求会用
状态码 了解 不需要背 能百度 要知道大概
信息响应 100
成功响应 200
重定向 300
客户端响应 400
服务器响应 500
响应头
响应头允许服务器向客户端传递附加内容
也分为 通用头 响应头 实体头
cache-control:… 控制缓存
content-length:… 响应主体的大小
content-type: … 响应主体的MIME类型
date:… 当前日期
last-modified:… 最后修改日期
server:… 服务器信息
自定义响应头:…
响应主体
类似请求主体
分为:单一资源主体(这个还能细分为 未知和已知长度的单个文件组成) 多资源主体
MIME类型
MIME类型 多用途Internet邮箱扩展类型 是一张标准化的方式来表示文档的性质和格式。
正确的MIME类型附加到响应对象的头部是非常重要的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bS1YA5PQ-1597801907182)(1.png)]
HTTP/2.0
HTTP/1.x报文有些性能上的缺陷:
消息头不像消息主体一样会被压缩 无法优化
两个报文之间的header通常非常相似(就是请求头跟响应头),但是他们仍然在连接中重复传输(就是请求头跟响应头可能存在同样的内容 但是无法简化成一个不重复的)
无法复用(因为HTTP的无状态 所有无法复用)
HTTP/2.0引入了一个额外的步骤,它将HTTP/1.x消息分成帧并嵌入到流中
上一篇: 家用打印机常见问题怎么解决?看完秒懂
下一篇: outlook2013邮箱规则怎么管理?