httpd版本协议详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpd版本协议详解相关的知识,希望对你有一定的参考价值。

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版本协议详解的主要内容,如果未能解决你的问题,请参考以下文章

httpd笔记之理论详解优化配置(Apache)web入门

web service :httpd简介

httpd/apache编译安装配置详解

HTTP 协议详解和版本介绍(HTTP发展历史)

RTP/RTCP协议详解

rtmp协议详解