Maison  >  Article  >  interface Web  >  Comment utiliser le développement Web multi-domaines

Comment utiliser le développement Web multi-domaines

php中世界最好的语言
php中世界最好的语言original
2018-04-18 10:00:091596parcourir

Cette fois, je vais vous expliquer comment utiliser le développement Web multi-domaines. Quelles sont les précautions pour une utilisation multi-domaines dans le développement Web. Voici des cas pratiques, jetons un coup d'œil.

Dans le processus de développement Web, tout le monde sera en contact avec le cross-domaine. Beaucoup de gens ne savent pas ce qu'est le cross-domain et comment résoudre le cross-domain dans le développement Web. L'article suivant vous en donnera une introduction détaillée. Si vous êtes intéressé, découvrons les solutions inter-domaines et inter-domaines.

Qu’est-ce que le cross-domain ?

Le concept est le suivant : tant que le protocole, le nom de domaine et le port sont différents, ils sont considérés comme des domaines différents

Ce qui suit est une explication détaillée de la situation spécifique entre domaines

URL
Description S'il faut autoriser la communication
http://www.a.com/a.js, http://www.a.com/b.js Sous le même nom de domaine Autoriser
http://www.a.com/lab/a.js, http://www.a.com/script/b.js Différents dossiers sous le même nom de domaine Autoriser
http://www.a.com:8000/a.js, http://www.a.com/b.js Même nom de domaine, ports différents Non autorisé
http://www.a.com/a.js、https://
URL 说明 是否允许通信
http://www.a.com/a.js、http://www.a.com/b.js 同一域名下 允许
http://www.a.com/lab/a.js、http://www.a.com/script/b.js 同一域名下不同文件夹 允许
http://www.a.com:8000/a.js、http://www.a.com/b.js 同一域名,不同端口 不允许
http://www.a.com/a.js、https://www.a.com/b.js 同一域名,不同协议 不允许
http://www.a.com/a.js、http://70.32.92.74/b.js 域名和域名对应ip 不允许
http://www.a.com/a.js、http://script.a.com/b.js 主域相同,子域不同 不允许(cookie这种情况下也不允许访问)
http://www.a.com/a.js、http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js、http://www.a.com/b.js 不同域名 不允许
www. a.com/b.js
Même nom de domaine, protocoles différents Non autorisé
http://www.a.com/a.js, http://70.32.92.74/b.js Nom de domaine et nom de domaine ip correspondant Non autorisé
http://www.a.com/a.js, http://script.a.com/b.js Le domaine principal est le même mais les sous-domaines sont différents Non autorisé (l'accès aux cookies n'est pas autorisé dans ce cas)
http://www.a.com/a.js, http://a.com/b.js Même nom de domaine, noms de domaine de deuxième niveau différents (comme ci-dessus) Non autorisé (l'accès aux cookies n'est pas autorisé dans ce cas)
http://www.cnblogs.com/a.js, http://www.a.com/b.js Différents noms de domaine Non autorisé

1. document.domain inter-domaines

Principe : Des pages sous le même nom de domaine principal mais des noms de sous-domaines différents peuvent être définis sur document.domain pour en faire le même domaine

Restrictions : Les documents du même domaine assurent l'interopérabilité entre les pages, et la page iframe doit être chargée

Les pages sous les noms de domaine suivants peuvent être interopérées entre domaines via document.domain : http://a.com/foo, http://b.a.com/bar, http://c.a.com/bar. Cependant, l'interopération de pages ne peut être effectuée que sous forme d'imbrication de pages. Par exemple, la méthode iframe courante peut compléter l'imbrication de pages

// URL http://a.com/foo
var ifr = document.createElement('iframe');
ifr.src = 'http://b.a.com/bar'; 
ifr.onload = function(){
    var ifrdoc = ifr.contentDocument || ifr.contentWindow.document;
    ifrdoc.getElementsById("foo").innerHTML);
};
ifr.style.display = 'none';
document.body.appendChild(ifr);

. L'URL où se trouve le code ci-dessus est http://a.com/foo, et son accès DOM à http://b.a.com/bar nécessite que ce dernier définisse document.domain d'un niveau supérieur

// URL http://b.a.com/bar
document.domain = 'a.com'

document.domain ne peut être défini qu'à partir d'un sous-domaine vers le domaine principal. Les paramètres vers le bas et vers d'autres noms de domaine ne sont pas autorisés. L'erreur indiquée dans Chrome est la suivante

. DOMException non interceptée : échec de la définition de la propriété "domaine" sur "Document" : "baidu.com" n'est pas un suffixe de "b.a.com"

2. Balises avec src

Principe : Toutes les balises HTML avec l'attribut src peuvent être inter-domaines, y compris ,