EventSource 是一種基于 HTTP 的實時通信機制,它允許服務器在瀏覽器和服務器之間建立一個長連接,從而使得服務器可以實時地向瀏覽器發送數據。這種技術通常用于實現實時更新、消息推送等功能。
EventSource 的實時通信機制基于以下幾個關鍵點:
Content-Type
為 text/event-stream
。服務器可以通過發送特定格式的數據來向客戶端發送事件。每個事件都由一個或多個數據行組成,數據行以 “data:” 開頭,后面跟著要發送的數據。事件可以包含一個可選的事件類型,通過 “event:” 指定。EventSource
對象來創建與服務器的連接。當服務器發送事件時,客戶端可以通過監聽相應的事件類型來接收數據。客戶端還可以監聽錯誤事件,以便在連接出現問題時進行處理。總之,EventSource 的實時通信機制依賴于服務器端和客戶端的協同工作。服務器負責發送事件,客戶端負責接收和處理事件。通過使用 HTTP 長連接和自動重連機制,EventSource 能夠實現高效、實時的通信。