码迷,mamicode.com
首页 > Web开发 > 详细

httpd版本协议详解

时间:2019-12-10 00:38:53      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:options   负载   引入   资源   高速度   建立   压缩机   速度   spdy   

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

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

HTTP/1.0
第一个在通讯中指定版本号的HTTP协议版本,常用于代理服务器,成为了面向事务的应用层协议,该协议需要每请求一次响应建立并拆除一次连接,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协议连接简要对比图
技术图片

httpd版本协议详解

标签:options   负载   引入   资源   高速度   建立   压缩机   速度   spdy   

原文地址:https://blog.51cto.com/13989376/2457113

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!