基于HTTP的功能追加协议
HTTP瓶颈
- HTTP协议探知服务器上是否存在内容更新,就必须频繁到服务端确认,如果服务端没更新,就会产生徒劳的通信。
SPDY的目标
- 陆续出现的Ajax和Comet技术,一定程度上使HTTP得到了改善,但HTTP协议本身限制令人束手无策,为了根本性的改善,需要有一些协议层面上的改动。
- SPDY没有完全改写HTTP协议,而是在TCP/IP层与传输层之间通过新加会话层形式运作,同时考虑安全性问题,SPDY规定通信中使用SSL。
- SPDY以会话层形式加入,控制对数据的流动,但还是采用HTTP建立通信连接。
- 通过单一的TCP连接,可以无限制处理多个HTTP请求。所有请求的处理都在一条TCP连接上完成。
- SPDY不仅可以无限制地并发请求,还可以给请求逐个分配优先级顺序。这样主要为了发送多个请求时,解决因带宽低而导致响应变慢问题。
- 压缩HTTP请求和响应首部,这样一来,通信产生的数据包数量和发送字节数就更少了。
- 支持服务器主动向客户端推送数据功能。这样服务器可直接发数据,而不必等待客户端请求。
- 服务器可以主动提示客户端请求所需的资源。由于在客户端发现资源之前就可以获知资源的存在,因此资源已缓存情况下,可以避免发送不必要的请求。
使用浏览器进行双工通信的Websocket
- Websocket在2011年12月11日定为标准。
- 一旦Web服务器和客户端建立起Websocket协议的通信连接,之后所有的通信都依靠这个专用协议进行。
- 由于时在HTTP基础上的协议,因此连接的发起端是客户端,而一旦确立WebSocket通信连接,不论服务器端还是客户端,任意一方可直接向对方发送报文。
HTTP/2.0的特点
- HTTP Speed+Mobility由微软起草,建立在谷歌公司提出的SPDY和WebSocket基础上。
- Network-Friendly HTTP Upgrade 主要是在移动端通信时改善HTTP性能标准。
webDAV
- webDAV是一个可对web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统。它作为扩展HTTP/1.1的协议定义在RFC4918
- 除了创建、删除文件等基本功能,它还具备文件创建者管理、文件编辑过程中禁止其他用户内容覆盖的加索功能,以及对文件内容修改的版本控制。
总结
- 这章讲了很多由于HTTP的缺点产生的许多技术,了解了基本用途。