Maison >interface Web >Questions et réponses frontales >Quelle est la différence entre cors et ajax
La différence entre cors et ajax est la suivante : lorsque cors demande, plusieurs mots-clés seront ajoutés à l'en-tête de la requête HTTP pour indiquer que la requête actuelle est une requête inter-domaine, mais ces mots-clés ne seront pas ajoutés lorsque ajax demande cors ; "Cross" - L'abréviation de "partage de ressources d'origine" signifie partage de ressources entre domaines.
L'environnement d'exploitation de cet article : système Windows10, version javascript1.8.5&&html5, ordinateur Dell G3.
La différence entre CORS et Ajax :
Il n'y a aucune différence entre CORS et Ajax lors de l'envoi de requêtes. Ce sont tous deux des requêtes http. La seule différence est que lors des requêtes CORS, plusieurs mots-clés seront ajoutés au fichier. En-tête de requête http. Utilisé pour indiquer que la requête actuelle est une requête inter-domaines.
Connaissances étendues :
CORS est une norme du W3C, son nom complet est "Partage de ressources inter-origines". Nous savons qu'il existe un problème inter-domaines lors de l'utilisation d'un navigateur pour envoyer des requêtes http (ajax). La solution inter-domaines actuelle est CORS.
Il est particulièrement souligné ici que le cross-domain dont nous parlons souvent n'est qu'une limitation du navigateur. Si nous utilisons un script pour envoyer des requêtes ou des requêtes via un serveur, il n'y aura pas de problèmes inter-domaines. en effet, le seuil d'utilisation du navigateur est très bas. Afin d'empêcher les personnes ayant des arrière-pensées d'attaquer les utilisateurs ordinaires, des politiques inter-domaines sont introduites
Introduction à CORS
CORS est une norme de communication officiellement recommandée publiée par le W3C. le 16 janvier 2014. Il résout principalement le problème des applications Web d'agent utilisateur passant par Ajax ou d'autres mécanismes pour accéder aux ressources et obtenir des données à partir d'un autre site.
Prémisse : le serveur doit ajouter des fonctions associées pour prendre en charge CORS, c'est-à-dire définir la valeur autorisée de Access-Control-Allow-Origin de http
La communication CORS est complétée par le navigateur et ne nécessite pas la participation de l'utilisateur. Par défaut, la navigation communique via Ajax. Si le navigateur détecte que la requête actuelle est inter-domaine lors de l'envoi d'une requête, elle sera automatiquement convertie en CORS
Les deux modes de requête CORS
Le navigateur divise la requête CORS en deux catégories : requête simple et requête non simple
La requête simple consiste à utiliser la méthode de requête définie pour demander des données
La requête non simple consiste à utiliser la méthode de requête définie pour demander des données, envoyez d'abord une requête OPTIONS pour voir si le le serveur le permet Le client envoie une requête non simple. Ce n'est qu'après avoir réussi la "pré-vérification" qu'une autre requête sera envoyée pour la transmission des données
Tant que les deux conditions suivantes sont remplies en même temps, il s'agit d'une simple demande.
Condition 1:
La méthode de la demande est l'une des trois méthodes suivantes:
head
get
Post
condition 2:
http Les informations d'en-tête ne dépassent pas les champs suivants:
rreeeDemande simple
Une requête simple est que le navigateur envoie directement une requête CORS (requête ajax). Avant l'envoi, le navigateur ajoutera un entête de requête Origin à cette requête http. Dans les informations d'entête ci-dessus, le champ Origine permet d'indiquer de quelle source provient cette requête (protocole + nom de domaine + port). Le serveur décide d'accepter ou non la demande en fonction de cette valeur.
Demande non simpleUne demande non simple consiste à envoyer une demande OPTIONS avant d'envoyer une demande pour vérifier à l'avance si la demande est autorisée. L'objectif principal est d'empêcher les demandes inter-domaines d'endommager ou de voler l'arrière-plan. données. Requêtes simples La sécurité est faible. Le serveur renvoie les données après avoir traité la requête. En mode requête non simple, le serveur ne doit pas traiter la requête lors de sa détection préalable.
【Recommandation de didacticiel connexe :
Tutoriel vidéo AJAXCe 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!