2022年9月6日 作者 zeroheart

前后端的不同通信方式

参考:https://juejin.cn/post/7139684620777291807

1.短轮训

2.长轮训

3.websockt

4.服务器事件推送(Sever-Sent Events, aka SSE)

这里只说基本的方法,不涉及具体的实现,需要的可以参考原文或者自己搜索

短轮训:前端以一定的频率向后台发送请求,获取数据,这种情况后台常常会返回空的数据。比较浪费带宽和前后台的性能,但实现是最简单的

长轮训:前端以一定的频率向后台请求,后台收到请求不立刻返回,只有在有新数据或者超时(如30s)才会返回,前端收到之后,重新计时后请求,这样减少了交互。

websockt:双工的协议,前后台都可以发消息,保持长时间链接,减少建立连接的次数,但是websockt是有状态的,不方便扩容,实现起来些许麻烦

Server-Sent Events:这个也是服务器向客户端推送的技术,客户端订阅一个地址,接受推送,具体的我没使用过,建立连接的次数少,但是单向的。