informational RFC 9110

HTTP 101 Switching Protocols

Server is switching to a different protocol (usually WebSockets or HTTP/2).

What it means

The client requested a protocol upgrade via the `Upgrade` header and the server is agreeing to switch. The connection stays open but subsequent frames are in the new protocol — most commonly WebSocket (`ws://` handshake completes here), but also HTTP/2 upgrades from HTTP/1.1.

When servers send it

  • Client sent `Upgrade: websocket` — server responds 101 to complete the WS handshake
  • HTTP/1.1 client upgrading to HTTP/2 (rare; modern clients start on HTTP/2 directly via ALPN)

What the client does

Stops speaking HTTP/1.1 on this connection and starts sending WebSocket frames (or the new protocol). The TCP connection is reused.

When you see it

  • WebSocket handshake — expected and normal
  • HTTP/2 cleartext upgrade (`h2c`) — expected on some server configs

Similar codes

← All HTTP status codes · HTTP status cheat sheet · HTTP headers reference