成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

什么是跨域?JavaScript跨域的6種情況

2015-11-27 11:07:12來源:cnblogs作者:Rain Man

首先什么是跨域,簡單地理解就是因為JavaScript同源策略的限制,a.com 域名下的js無法操作b.com或是c.a.com域名下的對象。更詳細的說明可以看下表:

JavaScript出于安全方面的考慮,不允許跨域調用其他頁面的對象。但在安全限制的同時也給注入iframe或是ajax應用上帶來了不少麻煩。這里把涉及到跨域的一些問題簡單地整理一下:

首先什么是跨域,簡單地理解就是因為JavaScript同源策略的限制,a.com 域名下的js無法操作b.com或是c.a.com域名下的對象。更詳細的說明可以看下表:

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
主域相同,子域不同 不允許
http://www.a.com/a.js
http://a.com/b.js
同一域名,不同二級域名(同上) 不允許(cookie這種情況下也不允許訪問)
http://www.cnblogs.com/a.js
http://www.a.com/b.js
不同域名 不允許

特別注意兩點:

第一,如果是協議和端口造成的跨域問題“前臺”是無能為力的;

第二:在跨域問題上,域僅僅是通過“URL的首部”來識別而不會去嘗試判斷相同的ip地址對應著兩個域或兩個域是否在同一個ip上。

“URL的首部”指window.location.protocol +window.location.host,也可以理解為“Domains, protocols and ports must match”。

關鍵詞:跨域JavaScript
主站蜘蛛池模板: 图木舒克市| 高尔夫| 虹口区| 环江| 白河县| 宝丰县| 定州市| 北海市| 农安县| 新绛县| 汝阳县| 桐庐县| 任丘市| 离岛区| 红河县| 上犹县| 凉城县| 驻马店市| 江都市| 论坛| 监利县| 嘉祥县| 石屏县| 玉树县| 甘南县| 柘荣县| 洛宁县| 繁昌县| 宁夏| 兰考县| 乐昌市| 南乐县| 黑龙江省| 淮安市| 绥德县| 罗田县| 同心县| 宝山区| 铜鼓县| 凉城县| 繁昌县|