CloseEvent: code 屬性
注意:此功能在 Web Workers 中可用。
CloseEvent 介面的只讀屬性 code 返回一個 WebSocket 連線關閉程式碼,指示連線關閉的原因。
值
一個整數 WebSocket 連線關閉程式碼,範圍在 1000 - 4999 之間,指示連線關閉的原因。
| 狀態碼 | 含義 | 描述 |
|---|---|---|
0–999 |
未使用。 | |
1000 |
正常關閉 | 連線已成功完成其建立的目的。 |
1001 |
即將離開 | 端點即將離開,可能是因為伺服器故障,或者瀏覽器正在離開開啟連線的頁面。 |
1002 |
協議錯誤 | 端點因協議錯誤而終止連線。 |
1003 |
不支援的資料 | 端點正在終止連線,因為它收到了無法接受的資料型別。(例如,一個僅文字的端點收到了二進位制資料。) |
1004 |
保留 | 保留。 含義可能在將來定義。 |
1005 |
未收到狀態 | 保留。 表明未提供狀態碼,即使期望提供。 |
1006 |
異常關閉 | 保留。 表明連線異常關閉(即,未傳送關閉幀),當期望提供狀態碼時。 |
1007 |
無效幀有效載荷資料 | 端點正在終止連線,因為它收到了包含不一致資料(例如,文字訊息中的非 UTF-8 資料)的訊息。 |
1008 |
策略違規 | 端點正在終止連線,因為它收到了違反其策略的訊息。這是一個通用狀態碼,在程式碼 1003 和 1009 不適用時使用。 |
1009 |
訊息過大 | 端點正在終止連線,因為它收到了過大的資料幀。 |
1010 |
強制擴充套件 | 客戶端正在終止連線,因為它期望伺服器協商一個或多個擴充套件,但伺服器未這樣做。 |
1011 |
內部錯誤 | 伺服器正在終止連線,因為它遇到了意外情況,阻止其滿足請求。 |
1012 |
服務重啟 | 伺服器正在終止連線,因為它正在重啟。 |
1013 |
稍後重試 | 伺服器因臨時原因終止連線,例如,伺服器過載並正在斷開部分客戶端。 |
1014 |
錯誤的閘道器 | 伺服器充當了閘道器或代理,但從上游伺服器收到了無效響應。這類似於 502 HTTP 狀態碼。 |
1015 |
TLS 握手 | 保留。 表明連線因 TLS 握手失敗而關閉(例如,伺服器證書無法驗證)。 |
1016–2999 |
用於 WebSocket 協議規範的未來修訂版本以及擴充套件規範的定義。 | |
3000–3999 |
供庫、框架和應用程式使用。這些狀態碼 直接在 IANA 註冊。WebSocket 協議未定義這些程式碼的解釋。 | |
4000–4999 |
供私人使用,因此無法註冊。此類程式碼可透過 WebSocket 應用程式之間的預先約定使用。WebSocket 協議未定義這些程式碼的解釋。 |
示例
以下示例將 code 的值列印到控制檯。
js
WebSocket.onclose = (event) => {
console.log(event.code);
};
規範
| 規範 |
|---|
| WebSocket # ref-for-dom-closeevent-code② |
瀏覽器相容性
載入中…
另見
- RFC 6455(WebSocket 協議規範)
- WebSocket 關閉程式碼編號登錄檔 (IANA)