Django - - 同源策略和跨域解决方案
Posted xiaoqshuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django - - 同源策略和跨域解决方案相关的知识,希望对你有一定的参考价值。
目录
- 同源策略
- 一个源的定义
- 同源策略是什么
- 举个例子
- 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 - - 同源策略和跨域解决方案的主要内容,如果未能解决你的问题,请参考以下文章