Baseline Widely available
Der HTTP Sec-WebSocket-Key Request-Header wird im WebSocket-Ãffnungshandshake verwendet, um einem Client (Benutzeragenten) zu ermöglichen zu bestätigen, dass er "wirklich möchte", dass ein HTTP-Client auf einen WebSocket aktualisiert wird.
Der Wert des Schlüssels wird mit einem Algorithmus berechnet, der in der WebSocket-Spezifikation definiert ist, daher bietet er keine Sicherheit. Stattdessen hilft er zu verhindern, dass Nicht-WebSocket-Clients versehentlich oder durch Missbrauch eine WebSocket-Verbindung anfordern.
Dieser Header wird automatisch von Benutzeragenten hinzugefügt, wenn ein Skript einen WebSocket öffnet; er kann nicht mit den Methoden fetch()
oder XMLHttpRequest.setRequestHeader()
hinzugefügt werden.
Der Sec-WebSocket-Accept
Response-Header des Servers sollte einen Wert enthalten, der auf dem angegebenen Schlüsselwert basiert. Der Benutzeragent kann dies dann validieren, bevor er die Verbindung bestätigt.
<key>
Der Schlüssel für diese Upgrade-Anforderung. Dies ist ein zufällig ausgewählter, 16-Byte groÃer, Base64-kodierter und isomorph kodierter "nonce". Der Benutzeragent fügt dies hinzu, wenn die WebSocket-Verbindung initiiert wird.
Der Client wird ein WebSocket-Handshake mit einer Anforderung wie der folgenden initiieren. Beachten Sie, dass dies als HTTP GET
-Anforderung (HTTP/1.1 oder höher) beginnt; zusätzlich zu Sec-WebSocket-Key
enthält die Anforderung den Upgrade
-Header, der die Absicht angibt, von HTTP zu einer WebSocket-Verbindung zu wechseln.
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Die Antwort vom Server sollte den Sec-WebSocket-Accept
-Header mit einem Wert enthalten, der aus dem Sec-WebSocket-Key
-Header in der Anfrage berechnet wurde, und die Absicht bestätigen, die Verbindung zu einer WebSocket-Verbindung zu aktualisieren:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?
Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4