Maison  >  Article  >  interface Web  >  Quelle est la raison du JavaScript inter-domaines ?

Quelle est la raison du JavaScript inter-domaines ?

WBOY
WBOYoriginal
2022-03-24 17:10:112466parcourir

La raison pour laquelle JavaScript est inter-domaine : la restriction de la politique de même origine du navigateur, le js du nom de domaine actuel ne peut lire que les attributs de fenêtre dans le même domaine, donc un inter-domaine se produit. La politique de même origine signifie que afin de garantir la sécurité des informations des utilisateurs et d'empêcher les sites Web malveillants de voler des données, les navigateurs interdisent l'interaction de JS entre différents domaines.

Quelle est la raison du JavaScript inter-domaines ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.

Quelle est la raison du JavaScript inter-domaines ?

Le problème inter-domaines est limité par la politique de même origine du navigateur. Le js du nom de domaine actuel ne peut lire que les attributs de fenêtre dans le même domaine.

En raison des restrictions de la politique de même origine du navigateur. La politique de même origine est une convention. Il s'agit de la fonction de sécurité essentielle et la plus élémentaire du navigateur. Si la politique de même origine est manquante, les fonctions normales du navigateur peuvent être affectées. On peut dire que le Web est construit sur la base de la politique de même origine. Le navigateur n'est qu'une implémentation de la politique de même origine. La politique de même origine empêche les scripts JavaScript d'un domaine d'interagir avec le contenu d'un autre domaine. La soi-disant même origine (c'est-à-dire dans le même domaine) signifie que les deux pages ont le même protocole, le même hôte et le même numéro de port.

En termes simples, la politique de même origine signifie que afin d'assurer la sécurité des informations des utilisateurs et d'empêcher les sites Web malveillants de voler des données, le navigateur interdit les interactions JS entre différents domaines. Pour les navigateurs, tant que l'un des noms de domaine, protocoles et ports est différent, la politique de même origine sera déclenchée, limitant ainsi les interactions suivantes entre eux :

1 Les cookies, LocalStorage et IndexDB ne peuvent pas être lus ;

2. DOM ne peut pas être lu. Get ;

3.La requête AJAX ne peut pas être envoyée.

La définition stricte du cross-domain est la suivante : tant que le protocole, le nom de domaine et le port sont différents, il est considéré comme cross-domain.

Solution cross-domain

JSONP : Vous devez ajouter dataType : "jsonp" à la méthode de requête, //Le format des données est défini sur jsonp, jsonp:"callback", //Le nom du paramètre de vérification généré par Jquery

1 , dataType, ce paramètre doit être défini sur jsonp

2, jsonp, la valeur de ce paramètre doit être convenue avec le côté serveur

nginx reverse proxy

webpack Configurer le proxy inverse : utilisez directement le devServer d'échafaudage pour configurer le proxy inverse Résoudre les problèmes inter-domaines dans le processus de développement

Partage de ressources inter-domaines (CORS)

nodejs cross-domain : utilisez nodejs pour configurer un serveur localement Utilisez ce serveur pour appeler le serveur d'arrière-plan. pour renvoyer les données puis les renvoyer au front-end Il n'y a pas de connexion entre les serveurs

Protocole WebSocket cross-domain

Grâce à JSONP

Comprenez par vous-même : JSONP utilise l'attribut src du script. tag pour réaliser plusieurs domaines. Vous ne pouvez utiliser que des requêtes get, et l'arrière-plan vous renverra une méthode. Vous utilisez cette méthode. Obtenez les données que vous voulez

Principe jsonp Le front-end définit une méthode et la transmet à l'arrière. -end via l'attribut src. Une fois que le back-end a obtenu la méthode, il transmet la méthode d'épissage des données, puis la transmet au front-end. Le front-end l'appelle comme une méthode

JSONP est principalement une méthode de requête encapsulée. pour ajouter un rappel, ce rappel est accepté par le front-end et le back-end

Recommandations associées :

Tutoriel d'apprentissage javascript

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:
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