Vor kurzem habe ich WebSockets recherchiert, ich denke, sie sind sehr cool. Allerdings, wenn ich einen Blick auf here werfen, sind einige Dinge für mich unklar.Wie funktioniert ein WebSocket-Schlüssel?
Anfrage:
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com
Antwort:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat
Der Anforderer gibt den Host, wird so Zwischenserver wissen, wo die Anforderung sollte ankommen. Der Anforderer sendet eine zufällige Zeichenfolge, die in base64 codiert ist, und der Server sendet einen gesalzenen SHA1-verschlüsselten Schlüssel zurück. Wird dieser Schlüssel zwischen den beiden verwendet, während die Verbindung besteht? Wenn ja, gibt es einen Weg, wie dieser Schlüssel wiederverwendet werden kann, selbst wenn die Verbindung unterbrochen wurde?