http协议各版本区别详解

HTTP(Hypertext Transfer Protocol )超文本传输协议,是一个应用协议用于分布式协作,多媒体信息统计。HTTP是Word Wide Web的通信基础,其中html文档指向用户可以轻松发文其他资源的超链接,例如,通过单击鼠标或者Web浏览器中点击屏幕.

HTTP协议的发展历程

HTTP/0.9
http协议的第一个版本仅适用于数据信息的简介交换,即仅文本传输,只接受GET这一种请求方式,且不支持请求头,由于不支持POST方式,大多数敏感信息无法交换,至此客户端无法向服务器传递过多信息。
缺点: 信息种类过于单一,无法满足需求,串行处理

HTTP/1.0
第一个在通讯中指定版本号的HTTP协议版本,常用于代理服务器,成为了面向事务的应用层协议,;支持cache, MIME, method该协议需要每请求一次响应建立并拆除一次连接,1.0引入了POST和HEAD命令,相对于一版本在一定程度上保障的数据的传输安全,是一个典型的串行连接事务。
缺点: 串行处理,效率低下

HTTP/1.1
引入持久连接机制并被默认采用,且更好的配合代理服务器工作,还支持管道方式同一连接下同时发送多个请求,以降低线路负载,提高传输速度,新增方法: PUT、PATCH、OPTIONS、DELETE
缺点: 同一TCP连接里,所有通信按次序进行,服务器只能顺序处理回应,如果前面处理过慢,会有许多请求排队,造成队头阻塞(Head-of-line blocking)

HTTP/2.0
头信息和数据体都是二进制,称为头信息帧和数据帧
复用TCP连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,且不用按顺序一一对应,避免了“队头堵塞“,此双向的实时通信称为多工(Multiplexing)
引入头信息压缩机制(header compression),头信息使用gzip或compress压缩后再发送;客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,不发送同样字段,只发送索引号,提高速度
HTTP/2 允许服务器未经请求,主动向客户端发送资源,即服务器推送(server push)

补充:
HTTP协议是无状态协议,服务器无法追踪来源

解决方法
cookie 客户端存放
session 服务器存放

HTTP事务: 一次访问的过程

请求: request
响应: response

HTTP2.0和SPDY的关联

HTTP2.0是SPDY的升级版
HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS
HTTP2.0 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE

HTTP协议连接简要对比图
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值