http如何實現跨域訪問

當兩個域具有相同的協議(如http), 相同的端口(如80),相同的host(如www.google.com),則認爲它們是相同的域(協議,域名,端口都必須相同)。

###限制跨域訪問作用
限制跨域資源訪問的作用可從服務器和客戶端兩個方面進行分析:
1、對於服務器,當收到一個請求時,會檢查該請求來源,如果來源的客戶端頁面自己無法識別,而且服務器的數據又是比較敏感的,則可能做出限制或者拒絕訪問(例如,黑客對服務器的攻擊)。
2、對於客戶端,瀏覽器的同源策略可限制對跨域資源的訪問,若其與服務器的域不相同,則瀏覽器可能進行限制甚至拒絕訪問(例如,黑客通過讓你訪問他的服務器數據來攻擊你的客戶端頁面)。

跨域訪問失敗時,實際上瀏覽器發送請求成功,瀏覽器也接收到了響應,但是它會限制xmlhttprequest接受響應並在js控制檯報錯。

###解決方法:
通過在響應中增加 Access-Control-Allow-Origin 標識的 header,指定服務器端允許進行跨域資源訪問的來源域
其中,Access-Control-Allow-Origin: *,表示該資源誰都可以用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章