图解HTTP笔记之第九章:HTTP瓶颈以及解决方法之websocket

本文探讨了HTTP协议的局限性,如单连接单请求、首部冗长等问题,并介绍了几种解决方法:AJAX、Comet、SPDY以及WebSocket。特别地,WebSocket作为一种全双工通信标准,能有效解决HTTP的瓶颈问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP瓶颈以及解决方法之websocket

HTTP的瓶颈就是:HTTP协议的性能受到限制,web页面加载时间过长,实时更新大量的数据无法妥善处理,但由于全球已经有很多的浏
览器都是基于HTTP协议,所以无法完全抛弃HTTP,因此产生了很多基于HTTP的协议的新协议,添加了新功能。
瓶颈详细化描述有如下几点:
1.一条连接上只可发送一个请求。
2.请求只能从客户端开始。客户端不可以接受除响应以外的指令。
3.请求/响应首部未经压缩就发送。首部信息越多延迟越大。
4.发送冗长的首部,每次互相发送相同的首部造成的浪费较多。
5.可任意选择数据压缩格式。非强制压缩发送。

解决方法之一:ajax

ajax是一种有效利用JavaScript和DOM的操作,以达到局部web页面替换加载的异步通信手段,响应中传输数据减少但是它可能会导致大量
请求产生,而且它并未解决HTTP协议本身存在的问题。

解决方法之二:Comet

comet是一种一旦服务器有了更新就不会让请求等待,直接给客户端返回响应,这是一种通过延迟应答,模拟实现服务器端向客户端推送的
功能。但是为了保留响应,一次连接的持续时间变长,为了维持连接会消耗更多资源,而且它并未解决HTTP协议本身存在的问题。

解决方法之三:SPDY

SPDY是一种在TCP/IP的应用层与传输层之间通过新加会话层的形式运作,通信中使用ssl解决安全问题,它提高了TCP的处理效率,解决了
因宽带低而导致的响应变慢的问题,使通信中产生的数据包数量和发送的字节数变少了,支持服务器主动向客户端推送数据,资源在以缓存
等情况下可以避免发送不必要的请求但是使用SPDY时,SPDY是将单个域名的通信多路复用,改善效果受到限制。

解决方法之四:WebSocket

WebSocket是web服务器与web浏览器之间的全双工通信标准。任在开发的WebSocket是为了解决ajax和Comet里XMLHttpRequest附带
的缺陷所引起的问题。WebSocket是基于HTTP上的协议,一旦建立WebSocket连接,无论客户端还是服务器端,任意一方都可直接向对方
发送报文。它具有推送功能,减少了通信量,当HTTP建立之后,需要完成一次握手的的步骤。JavaScript可调用“the WebSocket API”
内提供的WebSocket程序接口,以实现WebSocket下的全双工通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值