跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 平台政策 > 火狐已拦截跨源请求:同源策略禁止读取位于 ,CORS跨域

火狐已拦截跨源请求:同源策略禁止读取位于 ,CORS跨域

时间:2024-04-17 10:00:24 来源:网络cs 作者:付梓 栏目:平台政策 阅读:

标签: 策略  拦截  请求  火狐  禁止 
阅读本书更多章节>>>>

浏览器是网页的渲染着和执行者,为了安全,浏览器默认是不允许跨源请求的,即CORS跨域(跨域资源共享,Cross-Origin Resource Sharing)的,也就是说默认不允许从来自于A服务器上的页面中访问B服务器上的资源。(这里可以参考“同源”的概念)。

如果要想允许跨源访问,需要指示浏览器允许跨源访问,CORS约定中需要通过发送CORS标头(Access-Control-Allow-Origin:*)来达到目的。这个标头可以是web服务器在响应请求时发送,也可以嵌在html页面中。如果由web服务器发送,则不同的web服务器方法不一样,请查相应的web服务器配置方法,它的好处是会影响一批web页面。如果是嵌在html页面中,就在头部中嵌入<meta http-equiv="Access-Control-Allow-Origin" content="*">,只影响本页面。

注意:标头是加在最终被访问资源处的,如果是第一段的情况,是加在B上,不是A上。浏览器的验证发生在B上的资源返回以后。

很不幸的是即使这样,有时候会出现“原因:CORS 预检响应的 'Access-Control-Allow-Headers',不允许使用头 'content-type')”这样的错误。这是因为CORS跨域请求又分为简单请求和复杂请求,你的请求属于复杂请求了。请参考CORS跨域简单请求和复杂请求的定义。要么把你的请求简单化(大部分情况下是可以的),要么配置另一个CORS标头(Access-Control-Request-Header),那就更复杂了。

简单请求需要满足如下条件:    请求方式只能是 get、post、head之一
    请求头只能包含如下 accept、accept-lanuage、content-lanuage、content-type
    content-type值只能是 application/x-www-form-urlencoded、multIpart/form-data、text/plain

其他的情况都是属于复杂请求,如果是复杂请求,浏览器会自作主张向同样的请求地址发送一个“options”请求,服务器需要处理该请求,并返回一些说明表示自己允许接下来的请求,这样浏览器才会正式发送用户的请求。

详细请参考:

前端网络基础 - 跨域xhr/fetch_xhr 跨域_伏城之外的博客-CSDN博客

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/zhengce/2024-04-17/159703.html,文章来源:网络cs,作者:付梓,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论