跨域问题,解决方案(前后端代码)

目录

跨域(Cross-Origin)

同源策略(Same-Origin Policy)

常见的解决方案

示例

JSONP

脚本(script)标签可以跨域请求资源的原因主要有两个:

前端代码:

后端代码(服务端返回的响应):

Django框架后端跨域

WebSocket

前端代码:

后端代码


跨域(Cross-Origin)

是指在浏览器环境中,当一个请求的源(Origin)与目标资源的源不相同,就发生了跨域。具体来说,跨域是指在协议、域名或端口这三者中,只要有一个不同,就被认为是跨域。

同源策略(Same-Origin Policy)

是浏览器的一种安全机制,它限制了不同源之间的交互。同源策略要求网页只能通过脚本访问同一源的内容,不能获取其它源的数据,这样可以防止恶意网站窃取用户的信息。

跨域问题可能会出现在前端与后端进行交互时,例如使用 Ajax 发起请求获取数据。如果前端页面的源与后端接口的源不同,就会触发浏览器的跨域限制,导致请求失败。

所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。如果缺少了同源策略,浏览器很容易受到XSSCSRF等攻击。

常见的解决方案

1. JSONP(JSON with Padding):通过动态创建 `

你可能感兴趣的:(python,django,javascript,ajax)