關於跨域補充說明

2021-08-30 17:25:49 字數 1034 閱讀 5215

跨域是指乙個域下的文件或指令碼試圖去請求另乙個域下的資源,這裡跨域是廣義的。

廣義的跨域:

2.) 資源嵌入: 、、

3.) 指令碼請求: js發起的ajax請求、dom和js物件的跨域操作等

其實我們通常所說的跨域是狹義的,是由瀏覽器同源策略限制的一類請求場景。

什麼是同源策略?

同源策略/sop(same origin policy)是一種約定,由netscape公司2023年引入瀏覽器,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,瀏覽器很容易受到xss、csfr等攻擊。所謂同源是指"協議+網域名稱+埠"三者相同,即便兩個不同的網域名稱指向同乙個ip位址,也非同源。

同源策略限制以下幾種行為:

1.) cookie、localstorage 和 indexdb 無法讀取

2.) dom 和 js物件無法獲得

3.) ajax 請求不能傳送

url                                      說明                    是否允許通訊

同一網域名稱,不同檔案或路徑 允許

同一網域名稱,不同埠 不允許

同一網域名稱,不同協議 不允許

網域名稱和網域名稱對應相同ip 不允許

主域相同,子域不同 不允許

不同網域名稱 不允許

1、 通過jsonp跨域

2、 document.domain + iframe跨域

3、 location.hash + iframe

4、 window.name + iframe跨域

5、 postmessage跨域

6、 跨域資源共享(cors)

7、 nginx**跨域

8、 nodejs中介軟體**跨域

9、 websocket協議跨域

關於跨域問題

解決方案 使用jsonp jsonp是使用scripe標籤來突破同源策略的一種實現方式,只能傳送get請求,就算是用jqueryajax指明了post請求,jquery也會在傳送請求的過程中轉化為get請求。具體實現方案未研究。使用子頁面 使用巢狀iframe子頁面的方法,避開同源策略。跨域資源共享...

關於字型跨域

寫在前面的話 跨域問題啊 字型跨域,居然碰到了 網上蒐羅來的答案,有機會的可以試試有沒有效 原文 css載入字型的跨域問題 載 剛才碰到乙個css載入字型跨域問題,記錄一下啊。站點的動態請求與靜態檔案請求是不同的網域名稱的。站點的網域名稱為 www.domain.com,而靜態檔案的網域名稱為 st...

關於springmvc跨域

關於跨域問題,主要用的比較多的是cros跨域。詳細介紹請看 但是,在springmvc angularjs下支援跨域請求時,出現複雜跨域場景 post json 失敗的情況。開始的跨域配置如下 public class crossinterceptor extends handlerintercep...