Maison > interface Web > js tutoriel > Des en-têtes HTTP personnalisés peuvent-ils être ajoutés aux connexions client WebSocket ?

Des en-têtes HTTP personnalisés peuvent-ils être ajoutés aux connexions client WebSocket ?

Linda Hamilton
Libérer: 2024-12-15 03:32:09
original
1015 Les gens l'ont consulté

Can Custom HTTP Headers Be Added to WebSocket Client Connections?

En-têtes HTTP personnalisés dans l'API client WebSocket

L'API WebSocket dans la plate-forme Web permet la communication entre les clients et les serveurs sur un canal bidirectionnel persistant. Cependant, lors de l'envoi d'en-têtes HTTP via ce canal, il peut y avoir des limitations.

Ajout d'un en-tête HTTP personnalisé

Bien que des en-têtes HTTP personnalisés puissent être ajoutés à l'aide d'un HTTP tiers client d'en-tête qui le prend en charge, l'API WebSocket ne fournit pas de méthode directe pour ajouter des en-têtes personnalisés.

En-tête WebSocket Restrictions

Le constructeur WebSocket autorise uniquement la spécification du chemin et du champ de protocole. Le chemin HTTP (par exemple, "GET /xyz") et l'en-tête du protocole ("Sec-WebSocket-Protocol") peuvent être définis lors de l'initialisation de WebSocket.

L'en-tête "Sec-WebSocket-Protocol", qui peut être utilisé pour l'authentification spécifique à WebSocket, est dérivé du deuxième argument du constructeur WebSocket. Par exemple :

var ws = new WebSocket("ws://example.com/path", "protocol");
Copier après la connexion

Méthodes alternatives d'authentification/autorisation

Étant donné que les en-têtes personnalisés ne peuvent pas être ajoutés, des méthodes alternatives d'authentification ou d'autorisation WebSocket sont recommandées :

  • Système de billetterie : Le serveur émet un ticket au client, qui le client passe lors de la configuration de la connexion. Le serveur vérifie ensuite la validité du ticket.
  • Authentification URL/chaîne de requête : Transmettez le jeton d'authentification dans l'URL ou la chaîne de requête.

Obsolescence de l'authentification de base

L'authentification de base était auparavant prise en charge via l'en-tête "Autorisation". Cependant, ceci est désormais obsolète et les navigateurs modernes n'envoient pas cet en-tête même s'il est spécifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal