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
936 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!

source:php.cn
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