這個案例的核心責任是提供 WebSocket 對外承諾的規範錨點:協議只給雙向 transport、可靠性語意外包給應用層。

觀察

RFC 6455 定義 WebSocket 為「two-way communication channel where each side can, independently from the other, send data at will」、由 opening handshake 加 basic message framing 構成、layered over 單一 TCP connection。協議對投遞保證、自動 ack、重連機制完全沉默 —— 只定義 framing 與 handshake 層、設計原則是 minimal framing、framing 之上不加額外語意。

判讀

WebSocket 給雙向管線、不給保證:投遞保證、ack、重連、斷點續傳全都是應用層自己要蓋的。這跟 SSE 把重連寫進協議(見 C55)是兩種相反的承諾形狀 —— SSE 內建重連、換來單向;WebSocket 給雙向、換來零內建可靠性。協議層的「沉默」是論點本身:引用時陳述為「協議未定義、留給應用層」、而非「明文禁止」。

對應大綱

styles/realtime/「持久連線推送機制」(承諾差異表 WebSocket 欄、投遞保證「不保證」出處)。

下一步路由

模組十一案例庫

引用源