A table for reference

Close code (uint16)CodenameInternalCustomizableDescription
0 - 999YesNoUnused
1000CLOSE_NORMALNoNoSuccessful operation / regular socket shutdown
1001CLOSE_GOING_AWAYNoNoClient is leaving (browser tab closing)
1002CLOSE_PROTOCOL_ERRORYesNoEndpoint received a malformed frame
1003CLOSE_UNSUPPORTEDYesNoEndpoint received an unsupported frame (e.g. binary-only endpoint received text frame)
1004YesNoReserved
1005CLOSED_NO_STATUSYesNoExpected close status, received none
1006CLOSE_ABNORMALYesNoNo close code frame has been receieved
1007Unsupported payloadYesNoEndpoint received inconsistent message (e.g. malformed UTF-8)
1008Policy violationNoNoGeneric code used for situations other than 1003 and 1009
1009CLOSE_TOO_LARGENoNoEndpoint won’t process large frame
1010Mandatory extensionNoNoClient wanted an extension which server did not negotiate
1011Server errorNoNoInternal server error while operating
1012Service restartNoNoServer/service is restarting
1013Try again laterNoNoTemporary server condition forced blocking client’s request
1014Bad gatewayNoNoServer acting as gateway received an invalid response
1015TLS handshake failYesNoTransport Layer Security handshake failure
1016 - 1999YesNoReserved for later
2000 - 2999YesYesReserved for websocket extensions
3000 - 3999NoYesRegistered first come first serve at IANA
4000 - 4999NoYesAvailable for applications