"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quand CORS utilise-t-il une demande de contrôle en amont dans les scénarios inter-domaines ?

Quand CORS utilise-t-il une demande de contrôle en amont dans les scénarios inter-domaines ?

Publié le 2024-11-05
Parcourir:890

When Does CORS Use a Preflight Request in Cross-Domain Scenarios?

CORS : Comprendre la demande de « contrôle en amont » pour les requêtes inter-domaines

Le partage de ressources d'origine croisée (CORS) pose des défis lors de la création de protocoles HTTP requêtes sur tous les domaines. Pour remédier à ces limitations, des requêtes de contrôle en amont ont été introduites comme solution de contournement.

Demande de contrôle en amont expliquée

Les requêtes de contrôle en amont sont des requêtes OPTIONS qui précèdent les requêtes réelles (telles que GET ou POST ) et servent à négocier avec le serveur concernant les autorisations de la demande. Ces requêtes incluent deux en-têtes supplémentaires :

  • Access-Control-Request-Method : Spécifie la méthode de la requête réelle.
  • Access-Control -Request-Headers : Répertorie les en-têtes qui seront inclus dans la requête réelle.

Configuration de la réponse du serveur

Pour gérer les requêtes de contrôle en amont, le serveur doit répondre avec les en-têtes suivants :

  • Access-Control-Allow-Origin : Accorde l'autorisation à l'origine spécifiée dans la demande.
  • Access-Control-Allow-Methods : Spécifie les méthodes autorisées pour la demande réelle.
  • Access-Control-Allow-Headers : Répertorie les en-têtes que le navigateur est autorisé à afficher envoyer la demande réelle.

Mise en œuvre du contrôle en amont côté client

Pour que la demande de contrôle en amont aboutisse, le client doit inclure les modifications suivantes :

  • Envoyer une demande OPTIONS : Avant la demande proprement dite, envoyez une demande OPTIONS avec les en-têtes Access-Control-Request-* appropriés.
  • Inclure les éléments nécessaires headers : Assurez-vous que la demande réelle contient tous les en-têtes spécifiés dans l'en-tête de réponse Access-Control-Allow-Headers.

Exemple :

Considérez une demande de contrôle en amont pour une requête POST visant à récupérer des données à partir d'une URL distante.

Demande de contrôle en amont :

  • Origine : https://votredomaine.com
  • Access-Control-Request-Method : POST
  • Access-Control-Request-Headers : X-Custom-Header

Réponse du serveur (en supposant que le POST et X-Custom-Header sont autorisés) :

  • Access-Control-Allow-Origin : https://yourdomain.com
  • Access-Control-Allow-Methods : POST
  • Access-Control-Allow-Headers : X-Custom-Header

Demande réelle :

  • Origine : https://votredomaine.com
  • Méthode : POST
  • X-Custom-Header : valeur

En suivant ces étapes, vous pouvez efficacement contrôler en amont les requêtes HTTP pour surmonter les limitations inter-domaines à l’aide de CORS.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729259237. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3