aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/api/closeevent/index.html
blob: b45f4d018bf9550f3c0f9ce8f563eba2b5b96c3f (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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
---
title: CloseEvent
slug: Web/API/CloseEvent
translation_of: Web/API/CloseEvent
---
<p>{{APIRef("Websockets API")}}</p>

<p>Um <code>CloseEvent</code> é enviado aos clientes que usam {{Glossary("WebSockets")}} quando a conexão está fechada (closed). Ele<span id="result_box" lang="pt"> <span>é enviado ao</span> ouvinte(listener) <span>pelo</span> <span>atributo</span> <code><span>onclose</span></code> <span>do objeto</span> <code><span>WebSocket</span></code><span>.</span></span></p>

<h2 id="Construtor">Construtor</h2>

<dl>
 <dt>{{domxref("CloseEvent.CloseEvent", "CloseEvent()")}}</dt>
 <dd>Cria um <code>CloseEvent</code> novo.</dd>
</dl>

<h2 id="Propriedades">Propriedades</h2>

<p><em>Esta interface também herda as propriedades de seu objeto pai, {{domxref("Event")}}.</em></p>

<dl>
 <dt>{{domxref("CloseEvent.code")}} {{readOnlyInline}}</dt>
 <dd>Retorna um valor <code>unsigned short</code> contendo o código de encerramento enviado pelo servidor. Os seguintes valores são status de códigos permitidos. As definições seguintes são originadas da página da IANA [<a href="https://www.iana.org/assignments/websocket/websocket.xml#close-code-number">Ref</a>]. Observe que os códigos 1xxx são exclusivamente Websockets internos e não para os mesmos propósitos dos dados enviados (como quando o protocolo da camada de aplicação é invalido). Os únicos códigos que permitem especificação no Firefox são o 1000 e do 3000 ao 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">Código de Status</td>
    <td class="header">Nome</td>
    <td class="header">Descrição</td>
   </tr>
   <tr>
    <td><code>0</code><code>999</code></td>
    <td></td>
    <td><strong>Reservado e não utilizado.</strong></td>
   </tr>
   <tr>
    <td><code>1000</code></td>
    <td><code>CLOSE_NORMAL</code></td>
    <td>Encerramento normal. A conexão foi completada com sucesso sempre que o propósito para o qual ela foi criada tenha sido atingida.</td>
   </tr>
   <tr>
    <td><code>1001</code></td>
    <td><code>CLOSE_GOING_AWAY</code></td>
    <td>O "endpoint" desapareceu, por causa de uma falha no servidor ou por que o navegador navegou para fora da página que abriu a conexão.</td>
   </tr>
   <tr>
    <td><code>1002</code></td>
    <td><code>CLOSE_PROTOCOL_ERROR</code></td>
    <td>O "endpoint" finalizou a conexão <span id="result_box" lang="pt"><span> devido a</span> <span>um erro de protocolo</span><span>.</span></span></td>
   </tr>
   <tr>
    <td><code>1003</code></td>
    <td><code>CLOSE_UNSUPPORTED</code></td>
    <td>A conexão está sendo finalizada por causa de o dado do "endpoint" recebido ser de um tipo que não pode ser aceito (por exemplo, um "text-only endpoint" recebido como dado binário).</td>
   </tr>
   <tr>
    <td><code>1004</code></td>
    <td></td>
    <td><strong>Reservado.</strong> Um significado pode ser definido futuramente.</td>
   </tr>
   <tr>
    <td><code>1005</code></td>
    <td><code>CLOSE_NO_STATUS</code></td>
    <td><strong>Reservado.</strong>  Indica que um código "no status" foi fornecido mesmo que qualquer outro código seja esperado.</td>
   </tr>
   <tr>
    <td><code>1006</code></td>
    <td><code>CLOSE_ABNORMAL</code></td>
    <td><strong>Reservado.</strong> Usado para indicar que uma conexão foi fechada anormalmente (isto é, sem o "close frame" ter sido enviado) quando um "status code" é esperado.</td>
   </tr>
   <tr>
    <td><code>1007</code></td>
    <td>Unsupported Data</td>
    <td>O "endpoint" está finalizando a conexão por causa da mensagem ter sido recebida com dados inconsistentes (por exemplo, dados que não estejam no padrão UTF-8, dentro de uma mensagem de texto).</td>
   </tr>
   <tr>
    <td><code>1008</code></td>
    <td>Policy Violation</td>
    <td>O "endpoint" está finalizando a conexão por causa dele ter recebido uma mensagem que viola sua política. Este é um código de status genérico, usado quando o código 1003 e o código 1009 não sejam adequados.</td>
   </tr>
   <tr>
    <td><code>1009</code></td>
    <td><code>CLOSE_TOO_LARGE</code></td>
    <td>O "endpoint" está finalizando a conexão por causa de que o "data frame" recebido é muito grande.</td>
   </tr>
   <tr>
    <td><code>1010</code></td>
    <td>Missing Extension</td>
    <td>O cliente está fechando a conexão por causa de que navegador espera o servidor negociar uma ou mais extensões esperadas, o servidor não responde corretamente.</td>
   </tr>
   <tr>
    <td><code>1011</code></td>
    <td>Internal Error</td>
    <td>O servidor está finalizando uma conexão por causa de que ele <span id="result_box" lang="pt"><span>encontrou uma condição inesperada</span> <span>que o impediu</span> <span>de cumprir</span> <span>a solicitação.</span></span></td>
   </tr>
   <tr>
    <td><code>1012</code></td>
    <td>Service Restart</td>
    <td>
     <p>O servidor está finalizando uma conexão por que ele está em processo de "restar". [<a href="https://www.ietf.org/mail-archive/web/hybi/current/msg09670.html">Ref</a>]</p>
    </td>
   </tr>
   <tr>
    <td><code>1013</code></td>
    <td>Try Again Later</td>
    <td>
     <p><span id="result_box" lang="pt"><span>O servidor</span> <span>está </span></span> finalizando <span lang="pt"><span>a conexão devido a</span> <span>uma condição temporária</span><span>, por exemplo,</span> <span>ele</span> <span>estar sobrecarregado e</span> <span>estar rejeitando</span><span> alguns dos</span> <span>seus clientes.</span></span> [<a href="https://www.ietf.org/mail-archive/web/hybi/current/msg09670.html">Ref</a>]</p>
    </td>
   </tr>
   <tr>
    <td><code>1014</code></td>
    <td></td>
    <td><strong>Reservado para o futuro uso de um padrão WebSocket.</strong></td>
   </tr>
   <tr>
    <td><code>1015</code></td>
    <td>TLS Handshake</td>
    <td>
     <p><strong>Reservado.</strong> <span id="result_box" lang="pt"><span>Indica que a conexão</span> <span>foi fechada</span> <span>devido a uma falha</span> <span>para executar</span> <span>um "</span></span> TLS handshake" (por exemplo, o certificado do servidor não pode ser verificado).</p>
    </td>
   </tr>
   <tr>
    <td><code>1016</code><code>1999</code></td>
    <td></td>
    <td><strong>Reservado para o futuro uso de um padrão WebSocket.</strong></td>
   </tr>
   <tr>
    <td><code>2000</code><code>2999</code></td>
    <td></td>
    <td><strong>Reservado para uso de "WebSocket extensions".</strong></td>
   </tr>
   <tr>
    <td><code>3000</code><code>3999</code></td>
    <td></td>
    <td>
     <p>Disponível para uso de bibliotecas e frameworks. <strong>Não pode</strong> ser usado para aplicações. Disponível para registro em "IANA via first-come, first-serve".</p>
    </td>
   </tr>
   <tr>
    <td><code>4000</code><code>4999</code></td>
    <td></td>
    <td>Disponível para uso em aplicações.</td>
   </tr>
  </tbody>
 </table>
 </dd>
 <dt>{{domxref("CloseEvent.reason")}} {{readOnlyInline}}</dt>
 <dd>Retorna um {{domxref("DOMString")}} indicando a razão do porquê o servidor fechou uma conexão. Isto é especifico para um servidor e sub-protocolo particular.</dd>
 <dt>{{domxref("CloseEvent.wasClean")}} {{readOnlyInline}}</dt>
 <dd>Retorna um {{jsxref("Boolean")}} indicando se a conexão está ou não está claramente fechada.</dd>
</dl>

<h2 id="Métodos">Métodos</h2>

<p><em>Esta interface também herda as propriedades de seu objeto pai,</em> <em> {{domxref("Event")}}.</em></p>

<dl>
 <dt>{{domxref("CloseEvent.initCloseEvent()")}} {{Non-standard_inline}} {{Obsolete_inline}}</dt>
 <dd>Inicializa o valor de um <code>CloseEvent</code> criado. Se o evento já tenha sido enviado, este método não realiza nada.  <span class="short_text" id="result_box" lang="pt"><span>Não use</span> <span>este método</span> <span>mais</span></span>, use o construtor {{domxref("CloseEvent.CloseEvent", "CloseEvent()")}} em vez disso.</dd>
</dl>

<h2 id="Browser_compatibility">Compatibilidade com navegadores</h2>

<p>{{CompatibilityTable}}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoDesktop("8.0")}}<sup>[1]</sup><br>
    {{CompatGeckoDesktop("12.0")}}<sup>[2]</sup></td>
   <td>10</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>initCloseEvent</code><code>()</code> {{Non-standard_inline}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatGeckoDesktop("8.0")}}<br>
    {{CompatNo}} 41.0</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoMobile("8.0")}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>initCloseEvent</code><code>()</code> {{Non-standard_inline}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatGeckoMobile("8.0")}}<br>
    {{CompatNo}} 41.0</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<p>[1] Anterior ao Gecko 8.0 {{geckoRelease("8.0")}}, o Gecko envia o evento WebSocket {{event("close")}}  ao ouvinte como um evento simples. O suporte para o <code>CloseEvent</code> foi implementado no Gecko 8.0.</p>

<p>[2] Anterior ao Gecko 12.0 {{geckoRelease("12.0")}}, o Gecko reportava o código de encerramento <code>CLOSE_NORMAL</code> quando o canal se fechava devido a um erro inesperado, ou se a condição de erro não era coberta pela especificação. Agora <code>CLOSE_GOING_AWAY</code> é reportado em seu lugar.</p>

<h2 id="Veja_também">Veja também</h2>

<ul>
 <li><a href="/en-US/docs/Web/API/WebSocket"><code>WebSocket</code></a></li>
</ul>