Heim > Web-Frontend > js-Tutorial > Wie kann ich in JavaScript benutzerdefinierte HTTP-Header zu meinem WebSocket-Client hinzufügen?

Wie kann ich in JavaScript benutzerdefinierte HTTP-Header zu meinem WebSocket-Client hinzufügen?

Linda Hamilton
Freigeben: 2024-12-02 14:48:11
Original
957 Leute haben es durchsucht

How Can I Add Custom HTTP Headers to My WebSocket Client in JavaScript?

HTTP-Header in der Websocket-Client-API

Die WebSocket-API bietet eine einfache Möglichkeit, benutzerdefinierte HTTP-Header zu Ihrem Client hinzuzufügen. Es ist jedoch zu beachten, dass nur bestimmte Header angegeben werden können.

Einschränkungen bei der Anpassung

Entgegen der landläufigen Meinung erlaubt Ihnen die JavaScript WebSockets API nicht, beliebige HTTP-Header anzugeben . Es können nur die Felder Pfad und Protokoll festgelegt werden. Der Pfad wird im ersten Argument des WebSocket-Konstruktors angegeben, während der Protokoll-Header im optionalen zweiten Argument angegeben wird.

Protokoll-Header angeben

var ws = new WebSocket("ws://example.com/path", "protocol");
Nach dem Login kopieren

Der obige Code generiert den folgenden Header:

Sec-WebSocket-Protocol: protocol
Nach dem Login kopieren

Sie können auch mehrere angeben Protokolle:

var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
Nach dem Login kopieren

Ergebnis des folgenden Headers:

Sec-WebSocket-Protocol: protocol1, protocol2
Nach dem Login kopieren

Authentifizierung/Autorisierung

Ein gängiger Ansatz für die Authentifizierung über WebSockets ist Verwenden Sie ein Ticketsystem. Der Server generiert ein Ticket, das der Client in die URL, das Protokollfeld oder die erste Nachricht nach der Verbindung einfügt. Der Server validiert dann das Ticket und fährt mit der Verbindung fort oder lehnt sie entsprechend ab.

Basisauthentifizierung (veraltet)

Die Basisauthentifizierung wurde zuvor akzeptiert, wurde jedoch veraltet und ist nicht mehr verfügbar Wird von modernen Browsern nicht mehr unterstützt.

Zusätzlich Hinweise

Es ist erwähnenswert, dass der Authorization-Header aus dem Benutzernamen und dem Passwort im WebSocket-URI generiert werden könnte (obwohl diese Methode ebenfalls veraltet ist).

Um mehr über die WebSocket-Sicherheit zu erfahren , siehe diesen Artikel: https://devcenter.heroku.com/articles/websocket-security

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript benutzerdefinierte HTTP-Header zu meinem WebSocket-Client hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage