1.从前服务器推送技术的问题
从前的做法:
(1)就是需要以较小的间隔,频繁的向服务器建立http连接询问任务状态的更新,然后刷新页面显示状态。(2)但这样做的后果就是浪费大量流量,对服务端造成了非常大的压力。
2.服务端推送常用技术
当下主要的 服务端主动推送技术、浏览器接收数据
(1)第一种服务端推送技术:全双工(双向通信,就像移动手机可以随时的发送与接收信息)通信(WebSocket)
(2)第二种服务端推送技术:SSE(Server Send Event)
a)建立连接
b)服务端---------->浏览器(连接保持)
c)关闭连接
SSE的一大特色就是:重复利用1个连接来接收服务端发送的消息(又称event),从而避免不断轮询请求建立连接,造成服务资源紧张。
3.webSocket和SSE比较(但是现在IE和Edge浏览器不支持SSE,所以目前的应用场景比较少)
是否基于新协议 是否双向通信
WebSocket 是(ws) 是
SSE 否(Http) 否(单向)
4.随手记