[英]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.