1×× Informational

101 Switching Protocols

The server understands and is willing to comply with the client's request, via the Upgrade header field1, for a change in the application protocol being used on this connection.

The server MUST generate an Upgrade header field in the response that indicates which protocol(s) will be switched to immediately after the empty line that terminates the 101 response.

It is assumed that the server will only agree to switch protocols when it is advantageous to do so. For example, switching to a newer version of HTTP might be advantageous over older versions, and switching to a real-time, synchronous protocol might be advantageous when delivering resources that use such features.



101 Code References

  • .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
HTTP Status Codes