关于http协议0.9 1.0 1.1 2.0
作者:互联网
http发展,各个版本的特点
http 0.9
- 只允许GET请求,且不支持请求头
- 只能传输纯文本
- 无状态性 建立连接处理完成之后就断开
http 1.0
- 允许GET POST HEAD请求
- 超文本传输
- 默认短连接,但是支持长连接,只需要在header中设置Connection:Keep-Alive
- 缓存的机制已经身份认证
- 请求与响应支持头域
- 响应对象以一个响应状态行开始
http 1.1
- 新增缓存管理字段 cache-Control 在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的cache-Control头来控制缓存策略
- 错误管理通知 新增24个错误状态响应码 如409:表示请求的资源与资源的当前状态发生冲突 ;410表示服务器上某个资源被永久性删除
- 虚拟主机管理(host头): http默认每台机器都绑定唯一的ip地址,虚拟机出现可以公用一个ip地址,所以引入host
- 范围请求(range头): 优化网络连接的使用,http1.0客户端只需要请求某个对象中的一部分数据,却返回整个对象;http1.1允许请求部分资源 返回状态码 206
- 默认长连接 可以设置长连接关闭 Connection:Close
http 2.0
- 二进制分帧
- 多路复用 允许通过单一的http连接同时发起多重请求-响应消息 有了分帧就可以拆分数据流,可以乱序传输,还可以分优先级,最后可以根据每个帧的首部标识流重新组合起来。
- 头部压缩 1.1 的头部携带大量信息,每次都需要重复发送 HTTP/2.0 要求通讯双方各自缓存一份首部字段表,从而避免了重复传输。
- 请求优先级 浏览器可以在发现资源时立即分派请求,指定每个流的优先级,让服务器决定最优的响应次序
- 服务器推送 把客户端所需要的资源伴随着数据一同发送,省去客户端重复请求,提高响应速度
请求报文和响应报文
- 请求报文
起始行 POST/GET(请求方法) URL HTTP/1.1(协议类型和版本)
头部 键值对 包涵Content-Length(主体长度),Content-Type(主体类型) 缓存等等
主体:包涵数据的主体部分
- 响应报文
起始行 HTTP/1.1(协议类型和版本) 200(状态码) OK(状态码的文字描述)
头部 键值对 包涵Content-Length(主体长度),Content-Type(主体类型) 缓存等等
主体:包涵数据的主体部分
标签:0.9,主体,缓存,http,1.1,响应,1.0,请求 来源: https://www.cnblogs.com/JsonPig/p/15733699.html