欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

跨域及其(django跨域请求后台解决方案)

程序员文章站 2024-02-18 16:54:41
...

1. 跨域的产生

作为一名前端开发人员,相信大家都知道跨域是因为浏览器的同源策略所导致的。所谓同源是指"协议+域名+端口"三者相同即便两个不同的域名指向同一个ip地址,也非同源

什么是域名?
www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。

下面给出跨域示例:

当前页面url 被请求页面url 是否跨域 原因
http://www.test.com/ http://www.test.com/index.html 同源(协议、域名、端口号相同)
http://www.test.com/ https://www.test.com/index.html 跨域 协议不同(http/https)
http://www.test.com/ http://www.baidu.com/ 跨域 主域名不同(test/baidu)
http://www.test.com/ http://blog.test.com/ 跨域 子域名不同(www/blog)
http://www.test.com:8080/ http://www.test.com:7001/ 跨域 端口号不同(8080/7001)

浏览器引入同源策略主要是为了防止XSS,CSRF攻击**.。

CSRF(Cross-site request forgery),跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。
在同源策略影响下,域名A向域名B发送Ajax请求,或操作Cookie、LocalStorage、indexDB等数据,或操作dom,js就会受到限制,但请求css,js,图片等静态资源不受限制。
跨域及其(django跨域请求后台解决方案)

2.常见跨域问题及解决方式

参考链接:传送门

3.django跨域请求后台解决方案

参考文章:django开发+vue开发需要考虑跨域请求问题
django跨域请求后台解决方案:
安装:

pip install django-cors-headers

具体安装配置见:github

相关标签: Python+Django开发