图解HTTP学习(五)---基于HTTP功能的追加协议

HTTP瓶颈

  1. 一条连接上只可发送一个请求
  2. 请求只能从客户端开始,客户端不能接收除响应以外的指令
  3. 请求/响应首部未经压缩就发送。首部信息越多延迟越大
  4. 发送冗长的首部,每次互相发送相同的首部造成的浪费较多
  5. 可任意选择数据压缩格式,非强制压缩发送

SPDY

SPDY以会话层的形式加入,在应用层之后,控制对数据的流动。
SPDY规定通信中使用SSL
在这里插入图片描述
使用SPDY后,HTTP获得的额外功能:

  1. 多路复用流:通过单一的TCP连接,可以无限制处理多个HTTP请求,提高TCP的处理效率。
  2. 赋予请求优先级:可以给请求逐个分配优先级顺序。主要是为了解决在因发送多个请求时,带宽低会导致响应变慢的问题。
  3. 压缩HTTP首部:压缩HTTP请求和响应的首部,通信产生的数据包数量和发送的字节数变得更少。
  4. 推送功能:支持服务器主动向客户端推送数据的功能。
  5. 服务器提示功能:服务器可以主动提示,客户端请求所需的资源。由于在客户端发现资源之前就可以获知资源的存在,因此在资源已缓存的情况下,可以避免发送不必要的请求。

WebSocket:Web浏览器与Web服务器之间全双工通信标准

WebSocket是一个独立的协议标准

在客户端与服务器端建立起WebSocket协议的通信连接之后所有的通信都依靠这个专用协议进行。因为是建立在HTTP基础上的协议,因此连接的发起方仍是客户端。

主要特点:

  1. 推送功能:支持由服务器向客户端推送数据的推送功能。
  2. 减少通信量:只要建立起WebSocket连接,就希望一直保持连接状态。和HTTP相比,不但每次连接时的总开销减少,而且由于WebSocket的首部信息很小,通信量也相应减少了。

WebSocket建立步骤:
在这里插入图片描述
1. 客户端发送握手请求,并将upgrade首部设置为websocket,告知服务器通信协议发生改变。
2. 服务器端收到请求后,返回状态码101 Switching Protocols的响应。
3. 随后切换并建立起WebSocket通信,通信时不再使用HTTP的数据帧,而采用WebSocket独立的数据帧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值