blob: 48abcf6d522a74c621af136cc8f23e216af29f8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
---
title: CloseEvent
slug: Web/API/CloseEvent
tags:
- API
- Web
- WebSocket
- WebSockets
- インターフェース
- リファレンス
translation_of: Web/API/CloseEvent
---
<div>{{APIRef("Websockets API")}}</div>
<p><code>CloseEvent</code> は、 {{Glossary("WebSockets")}} を使用して接続が閉じられたときにクライアントに送信されます。これは <code>WebSocket</code> オブジェクトの <code>onclose</code> 属性で指定されたリスナーに配信されます。</p>
<h2 id="Constructor" name="Constructor">コンストラクター</h2>
<dl>
<dt>{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}</dt>
<dd>新しい <code>CloseEvent</code> を作成します。</dd>
</dl>
<h2 id="Properties" name="Properties">プロパティ</h2>
<p><em>このインタフェースは親である {{domxref("Event")}} からプロパティを継承します。</em></p>
<dl>
<dt>{{domxref("CloseEvent.code")}} {{readOnlyInline}}</dt>
<dd>サーバーが送信したクローズコードを含む <code>unsigned short</code> を返します。以下の値は許可されたステータスコードです。以下の定義は、 IANA のウェブサイト [<a href="https://www.iana.org/assignments/websocket/websocket.xml#close-code-number">Ref</a>] から供給されています。 1xxx コードは WebSocket 内部のみであり、転送されたデータと同じ意味ではありません (アプリケーション層プロトコルが無効な場合など)。 Firefox で指定できるコードは 1000 と 3000〜4999 [<a href="https://searchfox.org/mozilla-central/rev/bf81d741ff5dd11bb364ef21306da599032fd479/dom/websocket/WebSocket.cpp#2533">Source</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1467107">Bug</a>] のみです。
<table class="standard-table" id="Status_codes">
<tbody>
<tr>
<td class="header">ステータスコード</td>
<td class="header">名前</td>
<td class="header">説明</td>
</tr>
<tr>
<td><code>0</code>–<code>999</code></td>
<td></td>
<td><strong>予約済みで使用されていません。</strong></td>
</tr>
<tr>
<td><code>1000</code></td>
<td>Normal Closure</td>
<td>通常のクロージャ。接続が作成された目的に関係なく、接続は正常に完了しました。</td>
</tr>
<tr>
<td><code>1001</code></td>
<td>Going Away</td>
<td>エンドポイントは、サーバーに障害が発生したか、またはブラウザーが接続を作成したページから離れようとしているために接続を終了しています。</td>
</tr>
<tr>
<td><code>1002</code></td>
<td>Protocol Error</td>
<td>エンドポイントがプロトコルエラーのために接続を終了しています。</td>
</tr>
<tr>
<td><code>1003</code></td>
<td>Unsupported Data</td>
<td>エンドポイントが受け入れられないタイプのデータを受信したため (たとえば、テキストのみのエンドポイントがバイナリデータを受信したとき)、接続が終了しています。</td>
</tr>
<tr>
<td><code>1004</code></td>
<td></td>
<td><strong>予約済。</strong> 意味は将来定義されるかもしれません。</td>
</tr>
<tr>
<td><code>1005</code></td>
<td>No Status Received</td>
<td><strong>予約済。</strong>予想されたにもかかわらずステータスコードが提供されなかったことを示します。</td>
</tr>
<tr>
<td><code>1006</code></td>
<td>Abnormal Closure</td>
<td><strong>予約済。</strong>ステータスコードが必要なときに、接続が異常終了した (つまり、クローズフレームが送信されていない) ことを示すために使用されます。</td>
</tr>
<tr>
<td><code>1007</code></td>
<td>Invalid frame payload data</td>
<td>矛盾したデータ (例えば、テキストメッセージ内の非 UTF-8 データ) を含むメッセージを受信したため、エンドポイントは接続を終了しています。</td>
</tr>
<tr>
<td><code>1008</code></td>
<td>Policy Violation</td>
<td>エンドポイントはポリシーに違反するメッセージを受信したため、接続を終了しています。これは一般的なステータスコードであり、コード 1003 と 1009 が適切でない場合に使用されます。</td>
</tr>
<tr>
<td><code>1009</code></td>
<td>Message too big</td>
<td>大きすぎるデータフレームを受信したため、エンドポイントは接続を終了しています。</td>
</tr>
<tr>
<td><code>1010</code></td>
<td>Missing Extension</td>
<td>クライアントは、サーバーが1つ以上の拡張をネゴシエートすることを期待していましたがサーバーはそれを行わなかったため、サーバーは接続を終了しています。</td>
</tr>
<tr>
<td><code>1011</code></td>
<td>Internal Error</td>
<td>サーバーは、予期しない条件が発生し要求の実行を妨げたため、接続を終了しています。</td>
</tr>
<tr>
<td><code>1012</code></td>
<td>Service Restart</td>
<td>サーバーが再起動しているため、接続を終了しています。[<a href="https://www.ietf.org/mail-archive/web/hybi/current/msg09670.html">Ref</a>]</td>
</tr>
<tr>
<td><code>1013</code></td>
<td>Try Again Later</td>
<td>サーバは、一時的な条件のために接続を終了しています。それはオーバーロードされ、クライアントの一部をキャストしています。[<a href="https://www.ietf.org/mail-archive/web/hybi/current/msg09670.html">Ref</a>]</td>
</tr>
<tr>
<td><code>1014</code></td>
<td>Bad Gateway</td>
<td>サーバーがゲートウェイまたはプロキシとして機能し、アップストリームサーバーから無効なレスポンスを受信しました。これは 502 HTTP ステータスコードに似ています。</td>
</tr>
<tr>
<td><code>1015</code></td>
<td>TLS Handshake</td>
<td><strong>予約済。</strong>TLS ハンドシェイクの実行に失敗 (サーバー証明書を確認できないなど) したために接続が閉じられたことを示します。</td>
</tr>
<tr>
<td><code>1016</code>–<code>1999</code></td>
<td></td>
<td><strong>将来の WebSocket 標準での使用のために予約されています。</strong></td>
</tr>
<tr>
<td><code>2000</code>–<code>2999</code></td>
<td></td>
<td><strong>WebSocket 拡張機能で使用するために予約されています。</strong></td>
</tr>
<tr>
<td><code>3000</code>–<code>3999</code></td>
<td></td>
<td>ライブラリとフレームワークで使用できます。 アプリケーションによって使用<strong>されない可能性があります</strong>。先着順で IANA に登録できます。</td>
</tr>
<tr>
<td><code>4000</code>–<code>4999</code></td>
<td></td>
<td>アプリケーションで使用することができます。</td>
</tr>
</tbody>
</table>
</dd>
<dt>{{domxref("CloseEvent.reason")}} {{readOnlyInline}}</dt>
<dd>サーバーが接続を終了した理由を示す {{domxref("DOMString")}} を返します。これは特定のサーバーとサブプロトコルに固有です。</dd>
<dt>{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}</dt>
<dd>接続がきれいに閉じられたかどうかを示す {{jsxref("Boolean")}} を返します。</dd>
</dl>
<h2 id="Methods" name="Methods">メソッド</h2>
<p><em>このインターフェースは親である {{domxref("Event")}} からメソッドを継承しています。</em></p>
<dl>
<dt>{{domxref("CloseEvent.initCloseEvent()")}} {{Non-standard_inline}} {{Obsolete_inline}}</dt>
<dd>作成された <code>CloseEvent</code> の値を初期化します。イベントがすでにディスパッチされている場合、このメソッドは何も行いません。このメソッドをもう使用しないでください。代わりに、{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}} コンストラクタを使用してください。</dd>
</dl>
<h2 id="Specification" name="Specification">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ SpecName('HTML WHATWG', 'web-sockets.html#the-closeevent-interface', 'CloseEvent') }}</td>
<td>{{ Spec2('HTML WHATWG') }}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("api.CloseEvent")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{domxref("WebSocket")}}</li>
</ul>
|