服务器推送技术---WebSocket(学习笔记)

本文深入探讨服务器推送技术,包括Ajax轮询、longpoll和Websocket。Websocket通过与服务器建立长连接,解决服务端资源消耗问题,改善了HTTP非状态性,提升了通信效率。

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

参考文章
参考文章

服务器推送技术

是指客户端和服务器端建立长连接,服务器可以把更新的消息实时发送到客户端。

具体的技术

Ajax轮询

浏览器每隔几秒就发请求,询问服务端有没有新消息。

long poll

浏览器每隔几秒就给服务端发请求,如果有新消息就返回,没有新消息就保持连接直到有消息再返回。

Websocket

客户端和服务端建立长连接,将消息推送的主动权交给服务端,服务端有新消息就通知客户端,不需要客户端每隔一段时间就发请求询问了。
Websocket不仅解决了服务端被动性的问题,也解决了服务端资源消耗的问题。

其实我们所用的程序是要经过两层代理的,即HTTP协议在Nginx等服务器的解析下,然后再传送给相应的Handler(php等)来处理。简单地说,我们有一个非常快速的 接线员(Nginx) ,他负责把问题转交给相应的 客服(Handler) 。
本身接线员基本上速度是足够的,但是每次都卡在客服(Handler)了,老有客服处理速度太慢。,导致客服不够。Websocket就解决了这样一个难题,建立后,可以直接跟接线员建立持久连接,有信息的时候客服想办法通知接线员,然后接线员在统一转交给客户。

同时Websocket也解决了HTTP非状态性的问题。

但是Websocket只需要一次HTTP握手,所以说整个通讯过程是建立在一次连接/状态中,也就避免了HTTP的非状态性,服务端会一直知道你的信息,直到你关闭请求,这样就解决了接线员要反复解析HTTP协议,还要查看identity info的信息。

Websocket与HTTP

Websocket是html5的协议,与HTTP没有实质上的关联,但是它兼容了浏览器现有的握手规范。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值