可能平時接觸到"跨域"這個概念仍是挺頻繁的。既然有"跨域"的說法,那麼就有"同域"的說法。只是咱們通常稱之爲"同源"。web
所謂同源策略,就是組織一個域上載入的腳本獲取或者操做還有一個域上的文檔屬性。即受到請求的url的域必須與當前web頁面的域一樣,也就是意味着瀏覽器隔離來自不一樣源的內容。防止它們彼此之間的操做。跨域
同源策略有效地阻止了一些危急行爲,比方咱們打開了多個站點,但是當中一個是木馬站點。那麼木馬站點就有可能竊取其它站點上關於咱們的信息,這就會給用戶帶來很是大的泄密風險。瀏覽器
由於有了"同源策略"。大大減小了這樣的風險性。由於木馬站點與咱們瀏覽的其它站點不一樣源,因此它們沒法相互通訊,獲取數據。安全
同源策略在必定程度上保護了用戶的網絡安全。但是比方咱們需要讓www.a.com獲取www.b.com的時候的數據的時候,就會因爲同源策略而沒法獲取。網絡
如下是同源策略的詳細操做:post
贊成通訊的有:url
同一域名下的js文件 比方http://www.a.com/a.js 和http://www.a.com/b.js
spa
同一域名下不一樣目錄的js文件 比方http://www.a.com/xin/a.js 和 http://www.a.com/star/b.js網絡安全
不一樣意通訊的有:文檔
同一域名下的不一樣port 比方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
域名和相應的IP 比方http://www.a.com/a.js 和 http://70.32.92.74/a.js
主域一樣但子域不一樣 比方http:www.a.com/a.js 和http://xin.a.com/b.js
不一樣域名 比方http://www.a.com/a.js 和http://www.b.com/b.js
也就是說。在跨域問題上。域是經過url首部來識別推斷的。