Maison > interface Web > js tutoriel > Septième question de la dernière entrevue frontale de 2018

Septième question de la dernière entrevue frontale de 2018

php中世界最好的语言
Libérer: 2020-09-01 15:54:39
original
2470 Les gens l'ont consulté

Cette fois, je vous présente les dernières questions d'entretien front-end en 2018. Nous savons que les entretiens sont une partie indispensable du travail front-end. Cette fois, les questions d'entretien front-end courantes sont triées et résumées pour vous aider à obtenir. à travers l'interview frontale. Gros problèmes. Jetons un coup d'oeil.

[Recommandations associées : Questions d'entretien frontales (2020)]

1. Qu'est-ce que le partage de ressources inter-origines (CORS) ? Quel problème est-il utilisé pour résoudre ?

Par défaut, pour éviter certains comportements, l'objet XHR du navigateur ne peut accéder qu'aux ressources provenant du même domaine. Cependant, dans notre développement réel quotidien, nous rencontrons souvent le besoin de requêtes inter-domaines, c'est pourquoi une solution de requête inter-domaine a émergé : le partage de ressources inter-domaines CORS (Cross-Origin Resource Sharing). Le principe de CORS est d'utiliser des en-têtes HTTP personnalisés pour communiquer avec le serveur, afin que celui-ci détermine si la réponse réussit.
Comment utiliser CORS ?
L'utilisation de CORS nécessite la coopération du client et du serveur.
1. Comment le client lance-t-il une requête inter-domaines CORS ?
À l'heure actuelle, CORS est pris en charge nativement dans la plupart des navigateurs (CORS est pris en charge dans chaque navigateur). Lors de l'écriture du code, il est similaire aux requêtes dans le même domaine. Il vous suffit de transmettre l'URL absolue lorsque xhr.open. () C'est ça. Par exemple :

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {    if(xhr.readyState == 4){        if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){            console.log(xhr.responseText)
        }else {            console.log(&#39;err&#39; + xhr.status);
        }
    }
};
xhr.open(&#39;get&#39;,&#39;http://www.xxx.com/api/something/&#39;,true);
xhr.send(null);
Copier après la connexion

De cette façon, vous pouvez envoyer une requête inter-domaines, mais si vous l'envoyez simplement comme l'exemple de code ci-dessus, une erreur sera signalée car le serveur n'est pas configuré pour nous permettre pour faire cette demande, CORS a donc également besoin de la coopération du serveur.
2. Comment le serveur autorise-t-il les requêtes inter-domaines CORS des clients ?
Le serveur n'a besoin que de définir Access-Control-Allow-Origin dans l'en-tête de réponse pour permettre au client d'accéder.
En supposant que le nom de domaine du client est http://www.xxx.com, alors le serveur n'a qu'à inclure http://www.xxx.com dans le paramètre Access-Control-Allow-Origin, puis cette demande CORS peut être couronnée de succès. Si Access-Control-Allow-Origin est défini sur *, alors n'importe quel nom de domaine peut accéder à ce serveur, mais pour des raisons de sécurité, cela n'est généralement pas recommandé.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web php chinois Autres articles liés !

Lecture connexe :

Dernières questions d'entretien frontal de 2018, quatre

Dernières questions d'entretien frontal de 2018, cinq

Dernières questions d'entretien frontal 2018 6

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal