HTTP 基于HTTP的功能追加协议

一、HTTP的瓶颈

1.一条连接上只发送一个请求

2.请求只能从客户端开始。客户端不可以接收除响应以外的指令。

3.请求/响应首部未经压缩就发送。首部信息越多延迟越大。

4.可任意选择数据压缩格式。非强制压缩发送。

二、解决方法

1.Ajax解决方法:

和以前的同步通信相比,由于它只更新一部分页面,响应中传输的数据量会因此而减少。但仍未解决HTTP协议本身存在的问题。

2.Comet解决方法:

一旦服务器端有内容更新,Comet不会让请求等待,而是直接给客户端返回响应,也仍未解决HTTP协议本身存在的问题。

3.SPDY目标:

在协议层做了改动。SPDY没有完全改写HTTP协议,而是在TCP/IP的应用层与传输层之间通过新加会话层的形式运作。同时,考虑安全性问题,SPDY规定通信中使用SSL。

(1)多路复用流:单一的TCP连接,可以无限制处理多个HTTP请求

(2)赋予请求优先级:给请求逐个分配优先级顺序。

(3)压缩HTTP首部:减少通信产生的数据包的数量和发送的字节数。

(4)推送功能:支持服务器主动向客户端主动推送数据的功能。

(5)服务器提示功能:服务器可以主动提示客户端请求所需的资源。

用SPDY时,Web服务器要对应作出相应的改动;SPDY的确是一种可有效消除HTTP瓶颈的技术,但很多Web网站存在的问题并非仅仅是由HTTP瓶颈所导致。

4.全双工通信的WebSocket

WebSocket协议:在HTTP连接建立以后,需要完成一次"握手"步骤

推送功能:支持由服务器向客户端推送数据的推送功能。

减少通信量:只要建立起WebSocket连接,就希望一直保持通信状态。和HTTP相比,不但每次连接时的总开销减少,而且由于WebSocket的首部信息很小,通信量也减少了。

握手请求:Upgrade:websocket

握手响应:返回状态码101 Switching Protocols

5.HTTP/2.0

(1)SPDY

(2)HTTP Speed + Mobility

(3)Network-Friendly HTTP Upgrade

猜你喜欢

转载自blog.csdn.net/qq_38362049/article/details/81000127