El servidor entiende y está dispuesto a cumplir con la solicitud del cliente, a través del campo de encabezado Upgrade1, para un cambio en el protocolo de aplicación que se está usando en esta conexión.
El servidor DEBE generar un campo de encabezado Upgrade en la respuesta que indique qué protocolo(s) se cambiarán inmediatamente después de la línea vacía que termina la respuesta 101.
Se asume que el servidor solo estará de acuerdo en cambiar protocolos cuando sea ventajoso hacerlo. Por ejemplo, cambiar a una versión más nueva de HTTP podría ser ventajoso sobre versiones más antiguas, y cambiar a un protocolo en tiempo real y síncrono podría ser ventajoso cuando se entregan recursos que usan tales características.
- 1 Upgrade RFC7230 Section 6.7
- Source: RFC7231 Section 6.2.2
Referencias por lenguaje
- .NET HTTP Status Enum
HttpStatusCode.SwitchingProtocols - Rust HTTP Status Constant
http::StatusCode::SWITCHING_PROTOCOLS - Rails HTTP Status Symbol
:switching_protocols - Go HTTP Status Constant
http.StatusSwitchingProtocols - Symfony HTTP Status Constant
Response::HTTP_SWITCHING_PROTOCOLS - Python2 HTTP Status Constant
httplib.SWITCHING_PROTOCOLS - Python3+ HTTP Status Constant
http.client.SWITCHING_PROTOCOLS - Python3.5+ HTTP Status Constant
http.HTTPStatus.SWITCHING_PROTOCOLS