瀏覽器的同源策略是爲了安全的考慮而設置的。html
1.什麼是同源:ajax
若是兩個 URL 的 protocol、port (en-US) (若是有指定的話)和 host **都**相同的話,則這兩個 URL 是同源。 舉例: 下表給出了與 URL http://store.company.com/dir/page.html 的源進行對比的示例,
2.什麼是同源策略:跨域
同源策略是瀏覽器的一個安全功能,不一樣源的客戶端腳本在沒有明確受權的狀況下,不能讀寫對方資源。 舉例: a.com下的js腳本採用ajax讀取b.com裏面的文件數據是會報錯的,由於跨域了。
3.若是要跨域訪問怎麼辦?下面是一種解決辦法瀏覽器
• CORS CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。 它容許瀏覽器向跨源服務器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。 a.com的js腳本要訪問b.com的資源,在b.com裏面添加響應頭聲明容許a.com的訪問,代碼: Access-Control-Allow-Origin: http://a.com 而後a.com就能夠用ajax獲取b.com裏的數據了。 注意:此方法IE8如下徹底不支持,IE8-10部分支持。詳見caniuse-CORS
參考:
https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy
https://www.cnblogs.com/rockmadman/p/6836834.html安全