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