簡體   English   中英

Websocket,Server Sent Events(SSE)和HTTP2的Server Pushing之間有什么區別?

[英]What is the difference between Websocket,Server Sent Events (SSE) and HTTP2's Server Pushing?

有人可以簡要介紹這些看似相似的技術之間的區別嗎?

  • 的WebSocket
  • 服務器發送事件(SSE)
  • HTTP2的服務器推送

我知道所有這3個都是“ 推動 ”來自服務器的響應, 而不是客戶端的請求。

初看起來 ,似乎都是一樣的 。我需要更清楚地了解差異。

Websockets:雙向異步通信。 到目前為止,HTTP / 2並不能很好地運行,但正在努力實現這一目標。 (例如WISHwebsockets2-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM