摘要:一什么是跨域跨域簡單的理解就是同源策略的限制。同源策略限制的內容請求不能正常進行。同源策略默認地址是網頁的本身。
一、什么是跨域?
跨域簡單的理解就是JavaScript同源策略的限制。是出于安全的考慮,a.com域名下的js不能操作b.com或者c.com域名下的對象。
當協議、子域名、主域名、端口號中任意一個不相同時,都算作不同域。不同域之間相互請求資源,就算叫“跨域”。
一個正常的域名地址組成(圖片來自網絡資源):
注意:跨域不是請求發布出去,請求可以正常發出,服務器也能收到并返回結果,只是結果被瀏覽器所攔截了。
附上一張參考圖,便于大家深入理解(圖片來自網絡資源)
同源策略限制了從同一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用于隔離潛在惡意文件的重要安全機制。這是一種保護用戶信息,防止惡意身份偽造的一種安全機制。
同源策略限制的內容:
Ajax請求不能正常進行。
Cookie、LocalStoage、indexDB等無法讀取。
3.DOM 無法獲得。
不過,有幾個標簽卻可以允許跨域請求資源(可以作為解決跨域的一種方案)。
1.三、處理跨域方法一——JSONP
2.
3.
JSONP是跨域通信最常用的方法,其最大的特點就是簡單適用、兼容性好,可用于解決主流瀏覽器的跨域數據訪問的問題。 缺點是僅支持get方法具有局限性。 它的基本思想是,在網頁中添加一個
注意,該請求的查詢字符串有一個callback參數,用來指定回調函數的名字,這對于JSONP是必需的。
由于