服务端推送技术方案

本文探讨了四种服务端推送技术:Ajax短轮询、Ajax长轮询、Server-Sent Events (SSE)和WebSocket。Ajax短轮询和长轮询通过HTTP请求实现,存在实时性和资源消耗的问题。SSE利用EventSource API实现实时单向通信,而WebSocket提供双向通信,提高了效率并减少了资源浪费,但并非所有浏览器都支持。
摘要由CSDN通过智能技术生成

简单盘点一下服务端投送技术方案和各自的特点。

1.Ajax短轮询

Ajax短轮询:http 短轮询是 server 收到请求不管是否有数据到达都直接响应http请求;如果浏览器收到的数据为空,则隔一段时间,浏览器又会发送相同的http请求到server 以获取数据响应,就是用一个定时器不停的去网站上请求数据。

缺点:消息交互的实时性较低(server端到浏览器端的数据反馈效率低)。

2.Ajax长轮询

传统轮询类似,但是如果服务器端没有返回数据,那就保持连接一直开启,直到有数据时才返回。取回数据后再次发送另一个请求

http Keep-Alive
请求头部和响应头部都有一个key-value , Connection: Keep-Alive,这个键值对的作用是让HTTP保持连接状态,

缺点:server 没有数据到达时,http连接会停留一段时间,这会造成服务器资源浪费;

3. Server-Sent Events(SSE)

SSE通过HTML5中的EventSource API实现。SSE会在客户端和服务器端建立一个单向的通道,客户端监听来自服务器端的数据,而服务器端可以在任意时间发送数据,两者建立类似订阅/发布的通信模式。

4. WebSocket

WebSocket 解决了 H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值