其他分享
首页 > 其他分享> > 关于http协议0.9 1.0 1.1 2.0

关于http协议0.9 1.0 1.1 2.0

作者:互联网

http发展,各个版本的特点

http 0.9

  1. 只允许GET请求,且不支持请求头
  2. 只能传输纯文本
  3. 无状态性 建立连接处理完成之后就断开

http 1.0

  1. 允许GET POST HEAD请求
  2. 超文本传输
  3. 默认短连接,但是支持长连接,只需要在header中设置Connection:Keep-Alive
  4. 缓存的机制已经身份认证
  5. 请求与响应支持头域
  6. 响应对象以一个响应状态行开始

http 1.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头来控制缓存策略
  2. 错误管理通知 新增24个错误状态响应码 如409:表示请求的资源与资源的当前状态发生冲突 ;410表示服务器上某个资源被永久性删除
  3. 虚拟主机管理(host头): http默认每台机器都绑定唯一的ip地址,虚拟机出现可以公用一个ip地址,所以引入host
  4. 范围请求(range头): 优化网络连接的使用,http1.0客户端只需要请求某个对象中的一部分数据,却返回整个对象;http1.1允许请求部分资源 返回状态码 206
  5. 默认长连接 可以设置长连接关闭 Connection:Close

http 2.0

  1. 二进制分帧
  2. 多路复用 允许通过单一的http连接同时发起多重请求-响应消息 有了分帧就可以拆分数据流,可以乱序传输,还可以分优先级,最后可以根据每个帧的首部标识流重新组合起来。
  3. 头部压缩 1.1 的头部携带大量信息,每次都需要重复发送 HTTP/2.0 要求通讯双方各自缓存一份首部字段表,从而避免了重复传输。
  4. 请求优先级 浏览器可以在发现资源时立即分派请求,指定每个流的优先级,让服务器决定最优的响应次序
  5. 服务器推送 把客户端所需要的资源伴随着数据一同发送,省去客户端重复请求,提高响应速度

请求报文和响应报文

  1. 请求报文
起始行 POST/GET(请求方法) URL HTTP/1.1(协议类型和版本)
头部  键值对 包涵Content-Length(主体长度),Content-Type(主体类型) 缓存等等
主体:包涵数据的主体部分
  1. 响应报文
起始行 HTTP/1.1(协议类型和版本)  200(状态码) OK(状态码的文字描述)
头部  键值对 包涵Content-Length(主体长度),Content-Type(主体类型) 缓存等等
主体:包涵数据的主体部分

标签:0.9,主体,缓存,http,1.1,响应,1.0,请求
来源: https://www.cnblogs.com/JsonPig/p/15733699.html