← Back to Labs

WebSocket Upgrade and Framing

Walk from HTTPS origin context into the upgrade handshake, masked browser frames, heartbeats, and a clean protocol close.

BrowserEdge proxyApp servertab origin: app.example.eulistener: 443feed workerHTTPS page loaded443 listener idleNo session stateTLS tunnelupgraded streamWhat this step changes on the wireWebSocket starts inside the normal web trust boundary. Before the upgrade, everything is still ordinary HTTPS semantics.
Handshake / session inspectorCurrent bytes and headers
page origin: https://app.example.eu
target socket: wss://feed.example.eu/realtime/prices
transport: TCP + TLS on port 443
Frame semanticsWhy this state matters
no WebSocket frames yet
browser will begin with an HTTP/1.1 Upgrade request
Step 1 / 7The page is secure, but no socket exists yet

A browser tab in Athens has loaded the app over HTTPS. At this point there is still no WebSocket. The page only has a URL and some authentication context such as cookies or a short-lived token.

Arrow keys to navigate · R to reset

Tap dots to jump to any step

Read the full article →Take the quiz →