前后端分离的跨域问题

一、产生原因:浏览器为安全性考虑实施的同源策略,限制了跨域访问,也就是不允许跨域请求资源。当a页面想获取b页面资源时,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的。二、解决方法:1、跨域资源共享CORS浏览器将所有请求分为两类,一类是简单请求,一类是非简单请求;以下是满足简单请求的条件:<1>HTTP请求方式...
摘要由CSDN通过智能技术生成

一、产生原因:
浏览器为安全性考虑实施的同源策略,限制了跨域访问,也就是不允许跨域请求资源。当a页面想获取b页面资源时,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的。

二、解决方法:
1、跨域资源共享CORS
浏览器将所有请求分为两类,一类是简单请求,一类是非简单请求;以下是满足简单请求的条件:
<1>HTTP请求方式为GET、POST或HEAD
<2>请求头信息:
Accept
Accept-Language
Content-Language
Content-Type
对应的值是以下三个中的任意一个
application/x-www-form-urlencoded 、multipart/form-data 、text/plain
同时满足以上两个条件时,则是简单请求,否则为复杂请求;
简单请求时,浏览器会直接发起一个跨域请求,并在请求头中携带上Origin(或者*,表示允许任何域名的请求),用来说明本次请求来自哪个源。服务器端接受到请求后,根据头信息来判断是否允许跨域,返回一个正常的HTTP响应(如果允许,则响应头携带Access-Control-Allow-Origin等字段,并返回正常内容)。浏览器根据返回的响应头是否携带Access-Control-Allow-Origin等字段判断请求是否请求成功,没有则抛出异常。
如果是非简单请求,先发送一个预请求,该请求以OPTIONS方法发起,预请求会对服务器进行检测,以获取服务器是否

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值