--- title: CloseEvent slug: Web/API/CloseEvent translation_of: Web/API/CloseEvent ---
{{APIRef("Websockets API")}}
Un evento di tipo CloseEvent
viene inviato al client tramite WebSockets in fase di chiusura della connessione. Questo viene ricevuto dal listener registrato sull'attributo onclose dell'oggetto di tipo WebSocket
.
CloseEvent
.unsigned short
che contiene il codice di chiusura inviato dal server. Questi sono i valori ammessi.
Status code | Name | Description |
0 –999 |
Riservati e non usati. | |
1000 |
CLOSE_NORMAL |
Chiusura normale; la connessione si è conclusa normalmente, qualsiasi fosse il suo scopo. |
1001 |
CLOSE_GOING_AWAY |
L'endpoint se ne è andato, o per un errore del server oppure perché la pagina che ha aperto la connessione non è più attiva. |
1002 |
CLOSE_PROTOCOL_ERROR |
L'endpoint ha terminato la connessione per un errore di protocollo. |
1003 |
CLOSE_UNSUPPORTED |
La connessione è stata terminata perché l'endpoint ha ricevuto dei dati che non può accettare (per esempio, dati binari a fronte di un endpoint che consuma solo testo). |
1004 |
Riservato. In futuro potrebbe esserne rivelato l'uso. | |
1005 |
CLOSE_NO_STATUS |
Riservato. Indica che non è stato ricevuto nessuno stato di chiusura sebbene fosse atteso. |
1006 |
CLOSE_ABNORMAL |
Riservato. Usato per indicare che la connessione è stata chiusa in modo anomalo (cioè, cioè senza l'invio del frame di chiusura) dove invece era atteso un codice di chiusura. |
1007 |
L'endpoint ha terminato la connessione perché ha ricevuto un messaggio con dati inconsistenti (per esempio, dati non-UTF-8 all'interno di un messaggio testuale). | |
1008 |
L'endpoint ha terminato la connessione perché ha ricevuto un messaggio che viola la sua politica. E' un codice generico, quando 1003 e 1009 non sono adatti. | |
1009 |
CLOSE_TOO_LARGE |
L'endpoint ha terminato la connessione perché ha ricevuto un frame di dati troppo grande. |
1010 |
Il client ha terminato la connessione perché era attesa una negoziazione di una o più "estensioni" del protocollo che però non è avvenuta. | |
1011 |
Il server ha terminato la connessione perché ha incontrato una condizione inattesa che gli ha impedito di completare la richiesta. | |
1012 –1014 |
Riservati per usi futuri dallo standard WebSocket. | |
1015 |
Riservato. Indica che la connessione è stata chiusa a causa di un fallimento dell'handshake TLS (per esempio, il certificato del server non può essere verificato). | |
1016 –1999 |
Riservati per usi futuri dallo standard WebSocket. | |
2000 –2999 |
Riservati per estensioni WebSocket. | |
3000 –3999 |
Disponibili per librerie e framework. Meglio non usarli nelle applicazioni. | |
4000 –4999 |
Disponibili per essere utilizzati dalle applicazioni. |
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{ CompatUnknown() }} | {{ CompatGeckoDesktop("8.0") }} [1][2] | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{ CompatUnknown() }} | {{ CompatGeckoMobile("8.0") }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
[1] Prima di Gecko 8.0 {{ geckoRelease("8.0") }}, Gecko inviava l'evento WebSocket {{event("close")}} come semplice evento. Il supporto al CloseEvent
è stato implementato in Gecko 8.0.
[2] Prima di Gecko 12.0 {{ geckoRelease("12.0") }}, Gecko restituiva il codice di chiusura CLOSE_NORMAL
anche quando il canale veniva chiuso a causa di un errore inatteso, o anche a causa di un errore non coperto dalla specifica. Adesso viene restituito CLOSE_GOING_AWAY
.