(1)HTTP/0.9:
- 只有一个命令 GET
- 没有HEADER等描述数据的信息
- 服务器发送完毕内容,就关闭TCP连接。一个HTTP事务要使用一个TCP连接。
(2)HTTP/1.0: - 增加了很多命令
- 增加了status code (描述服务端处理请求的状态的)和 header
- 多字符集支持、多部分发送、权限、缓存等
- 缺陷:
第一点是: 连接无法实现真正意义上的复用(Connection :keep-Alive,默认false)
第二点是: Head-Of-Line Blocking(HOLB,队头/线头/头部阻塞)
(3)HTTP/1.1 - 持久连接/长连接
- pipeline管道化技术
-
头部增加Host
(4)SPDY
image.png
SPDY 没有完全改写 HTTP 协议,而是在 TCP/IP 的应用层与运输层之 间通过新加会话层的形式运作。同时考虑到安全性问题,SPDY 规定通信中使用 SSL。
SPDY 以会话层的形式加入,控制对数据的流动,但还是采用 HTTP 建立通信连接,改层工作在SSL层之上、HTTP层之下。
二进制分帧
首部压缩(Header Compression)
多路复用
对请求划分优先级
服务器推送流(即Server Push技术)
(5)HTTP/2
二进制分帧
首部压缩(Header Compression)
多路复用
对请求划分优先级
服务器推送流(即Server Push技术)
(6)HTTP Working-Group 以 SPDY/2 为基础,开发 HTTP/2。但是,HTTP/2跟 SPDY 仍有不同的地方,主要是以下两点:
- HTTP/2 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS
- HTTP/2 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE
网友评论