SSE 與 WebSocket 作用相似,都是建立瀏覽器與服務器之間的通信渠道,然後服務器向瀏覽器推送信息。總體來說,WebSocket更強大和靈活。
- 因爲它是全雙工通道,可以雙向通信;
- SSE是單向通道,只能服務器向瀏覽器發送。SSE使用HTTP協議,現有的服務器軟件都支持;
- WebSocket是一個獨立協議。SSE屬於輕量級,使用簡單;WebSocket協議相對複雜;
- SSE默認支持斷線重連,WebSocket需要自己實現;
- SSE一般只用來傳送文本,二進制數據需要編碼後傳送,WebSocket默認支持傳送二進制數據;
- SSE 支持自定義發送的消息類型。