HTTP status codes / 1xx — Informational
The server agrees to switch protocols, e.g. HTTP to WebSocket.
Sent in response to an Upgrade header. The classic case is the WebSocket handshake: the client sends Upgrade: websocket, the server answers 101, and the connection stops speaking plain HTTP from that point on.
curl -i -N -H 'Connection: Upgrade' -H 'Upgrade: websocket' -H 'Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==' -H 'Sec-WebSocket-Version: 13' https://echo.websocket.org/
Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
If your WebSocket connection fails before 101 arrives, inspect the handshake request — missing Upgrade/Connection headers or an intermediary stripping them is the usual cause.
The fastest way to pin down a 101 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
100 Continue · 102 Processing · 103 Early Hints — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.