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");
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 :
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!