Django - - 同源策略和跨域解決方案
阿新 • • 發佈:2018-11-28
url link 交互 功能 出了 tex 鏈接 不能 header
目錄
- 同源策略
- 一個源的定義
- 同源策略是什麽
- 舉個例子
- jQuery中getJSON方法
- JSONP應用
1, 同源策略
1.1 一個源的定義
如果兩個頁面的協議,端口(如果有指定)和域名都相同,則兩個頁面具有相同的源。
舉個例子:
下表給出了相對http://a.xyz.com/dir/page.html同源檢測的示例:
URL | 結果 | 原因 |
---|---|---|
http://a.xyz.com/dir2/other.html | 成功 | |
http://a.xyz.com/dir/inner/another.html | 成功 | |
https://a.xyz.com/secure.html | 失敗 | 不同協議 ( https和http ) |
http://a.xyz.com:81/dir/etc.html | 失敗 | 不同端口 ( 81和80) |
http://a.opq.com/dir/other.html | 失敗 | 不同域名 ( xyz和opq) |
1.2 同源策略是什麽
同源策略是瀏覽器的一個安全功能,不同源的客戶端腳本在沒有明確授權的情況下,不能讀寫對方資源。所以xyz.com下的js腳本采用ajax讀取abc.com裏面的文件數據是會被拒絕的。
同源策略限制了從同一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用於隔離潛在惡意文件的重要安全機制。
1.2.1 不受同源策略限制的
1 頁面中的鏈接,重定向以及表單提交是不會受到同源策略限制的。
2 跨域資源的引入是可以的。但是js不能讀寫加載的內容。如嵌入到頁面中的,,,
Django - - 同源策略和跨域解決方案