2022年9月6日
前后端的不同通信方式
参考:https://juejin.cn/post/7139684620777291807
1.短轮训
2.长轮训
3.websockt
4.服务器事件推送(Sever-Sent Events, aka SSE)
这里只说基本的方法,不涉及具体的实现,需要的可以参考原文或者自己搜索
短轮训:前端以一定的频率向后台发送请求,获取数据,这种情况后台常常会返回空的数据。比较浪费带宽和前后台的性能,但实现是最简单的
长轮训:前端以一定的频率向后台请求,后台收到请求不立刻返回,只有在有新数据或者超时(如30s)才会返回,前端收到之后,重新计时后请求,这样减少了交互。
websockt:双工的协议,前后台都可以发消息,保持长时间链接,减少建立连接的次数,但是websockt是有状态的,不方便扩容,实现起来些许麻烦
Server-Sent Events:这个也是服务器向客户端推送的技术,客户端订阅一个地址,接受推送,具体的我没使用过,建立连接的次数少,但是单向的。