前端经典问题-跨域问题

什么样的情况下会出现跨域?

协议、域名、端口号三个位置,只要有一处不同,就说明这个请求说跨域的。

要理解跨域问题,必须得知道什么是同源策略?

何谓同源:

  • URL由协议、域名、端口和路径组成。
  • 如果两个URL的协议、域名和端口相同,则表示他们同源。

同源策略:

  • 浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。
  • 从一个域上加载的脚本不允许访问另外一个域的文档属性。

举个例子:

  • 比如一个恶意网站的页面通过iframe嵌入了银行的登录页面(二者不同源),如果没有同源限制,恶意网页上的javascript脚本就可以在用户登录银行的时候获取用户名和密码。

在这里插入图片描述

解决方案

解决方案有:

  • 1、JSONP:前端用JSONP方式请求(jsonp不是Ajax请求)
  • 2、CORS:后端写代码添加必要响应头,响应回来之后浏览器不会报错
  • 3、代理转发:
    在这里插入图片描述
    参考文档:
    https://www.pianshen.com/article/2669599599/
    https://blog.csdn.net/JIAFury/article/details/119705893
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值