[英]What is the difference between Websocket,Server Sent Events (SSE) and HTTP2's Server Pushing?
有人可以简要介绍这些看似相似的技术之间的区别吗?
我知道所有这3个都是“ 推动 ”来自服务器的响应, 而不是客户端的请求。
初看起来 ,似乎都是一样的 。我需要更清楚地了解差异。
Websockets:双向异步通信。 到目前为止,HTTP / 2并不能很好地运行,但正在努力实现这一目标。 (例如WISH和websockets2-over-http2 。)
SSE:服务器可以通知浏览器事件。 使用普通的HTTP,即使使用HTTP / 2也能正常工作。 通过常规POST请求从客户端向服务器发出通知,可以通过SSE模拟双向异步通信,在HTTP / 2中,这些请求与同一来源的所有其他请求在同一个套接字中,因此建立新连接的成本可以避免。 但是,服务器端处理POST请求的处理成本可能高于使用本机websockets。
HTTP / 2推送:与上面两者完全无关,它是服务器提前将资源推送到浏览器的机制。 可能的应用: 在PHP引擎创建HTML时发送CSS和Javascripts 。 理论上,HTTP / 2 Push和SSE可以组合在一起,使浏览器无需初始往返延迟即可使用事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.