SSE是Server-sent Events
的簡稱,它是HTML5中的一種規範。目前爲止那些老舊的瀏覽器是不直接支持SSE規範的,好比IE內核的瀏覽器。
咱們知道websocket能夠實現客戶端與服務端的雙向通訊。SSE這個東西是能夠實現服務端主動向客戶端進行通訊的,可是它僅僅是單向的。若是客戶端與服務器端的數據交互不是特別頻繁,那麼咱們是能夠使用SSE技術來實現的。前端
Server-sent Events
主要由兩部分組成。git
1.服務器端與瀏覽器端之間的通信協議
2.前端js對象EventSource
github
服務端若要向前端發送一個SSE,響應的類型應該爲"text/event-stream",響應文本的內容是一個事件流,固然仍是文本類型,這個看響應類型就知道。
每一個事件由類型和數據組成,同時每一個事件都有一個標識符(鍵值對的形式),不一樣事件經過車符和換行符的空行(「\r\n」)來分隔。好比:web
data: eve1 event data: eve2 event id: 0 event: eve data: eve3 event id: 1
含義:瀏覽器
retry: 瀏覽器在鏈接斷開以後進行再次鏈接以前的等待時間服務器
代碼詳情見github
https://github.com/yusonghu/ssewebsocket