Máy chủ nhận một HTTP Upgrade request. Hãy đọc header Sec-WebSocket-Key và in ra phản hồi 101 Switching Protocols đầy đủ:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: <accept>
Trong đó <accept> được tính như bài Sec-WebSocket-Accept (SHA1 của key+GUID, rồi base64). Header tên không phân biệt hoa thường khi tìm Sec-WebSocket-Key.
Input:
GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Output:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Nhiều dòng header HTTP request, trong đó có dòng Sec-WebSocket-Key: <key>.
Luôn tồn tại header Sec-WebSocket-Key.
4 dòng phản hồi 101 như mô tả.
Ví dụ:
Đầu vào:
GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Đầu ra:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Giải thích:
Đang tải editor...