位置: IT常识 - 正文

Access-Control-Allow-Origin跨域解决及详细介绍(Access-Control-Allow-Origin 翻译)

编辑:rootadmin
Access-Control-Allow-Origin跨域解决及详细介绍

推荐整理分享Access-Control-Allow-Origin跨域解决及详细介绍(Access-Control-Allow-Origin 翻译),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Access-Control-Allow-Origin,Access-Control-Allow-Origin 翻译,Access-Control-Allow-Methods,Access-Control-Allow-Headers,access-control-allow-origin 配置,Access-Control-Allow-Origin,Access-Control-Allow-Credentials,Access-Control-Allow-Origin,内容如对您有帮助,希望把文章链接给更多的朋友!

首先,跨域不是问题。是一种安全机制。 这是你在开发时、上线前就必须提前考虑到的安全问题并且采取合适的手段去避免这个问题带来的程序错误。不过通常情况下,前端开发的小伙伴们都非常坚信后端小伙伴的接口一定已经处理好了跨域这个需求。然而事实上许多的前端拿到的都是没有解决跨域的接口。又出于某种原因不便与后端交涉并且对方视乎态度不是很友好。在这种情况下作为前端的小伙伴们心里简直一万头草泥马飞过。

不过现在你不必为之犯困了,哪个后端要是不协助处理跨域导致的一系列问题的话,请将本文直接甩给后台,脸必须打响。要解决跨域必须由后端来一起协同解决,且主要解决工作在后端。

为了能够更加快速的解决跨域带来的问题,下面对跨域进行详细介绍。

一、跨域是什么

跨域是浏览器加载了与当前域名、协议、端口不同另一站点下的资源,这与各大支持JavaScript的浏览器的同源策略是违背的。所谓同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。

比如说,下面的几个域名是同源的:

http://example.com/

http://example.com:80/

http://example.com/path/file

它们都具有相同的协议、相同的域名、相同的端口(不指定端口默认80)。

而下面几个域名是不同源的:

http://example.com/

http://example.com:8080/

Access-Control-Allow-Origin跨域解决及详细介绍(Access-Control-Allow-Origin 翻译)

http://www.example.com/

https://example.com:80/

https://example.com/

http://example.org/

http://ietf.org/

它们有不同的协议或不同的域名或不同的端口,要注意顶级域名和二级域名也是认为不同的域名。

二、解决跨域导致的问题

跨域并不会阻止请求的发出,也不会阻止请求的接受,跨域是浏览器为了保护当前页面,你的请求得到了响应,浏览器不会把响应的数据交给页面上的回调,取而代之的是去提示你这是一个跨域数据。提示就是一个报错提示,就像这样:

我们知道了浏览器是如何处理的了,才能对症下药来解决这个问题,下面介绍几种常用的跨域解决方法:

1、CORS,跨域资源共享

这是最靠谱也是非常科学的解决方案,通过上面的截图我们可以看到,它提示了一个:从某某位置请求的资源被阻挡了,因为没有在响应头里发现:"Access-Control-Allow-Origin"的响应头。看到这个错误,我们不得不百度一下,这个Access-Control-Allow-Origin是个何方神圣。

通过Access-Control-Allow-Origin响应头,就告诉了浏览器。如果请求我的资源的页面是我这个响应头里记录了的"源",则不要拦截此响应,允许数据通行。比如说下面示列了一个场景:

// 从 http://example.com 界面发出了一个请求到:http://example2.com,因为不同源,导致了跨域。

// 而 http://example2.com 返回了下面的响应头:

Content-Type: application/json;charset=utf-8

Content-Length: 3210

Server: apache

Access-Control-Allow-Origin: http://example.com

// 从 http://example.com 界面发出了一个请求到:http://example2.com,因为不同源,导致了跨域。// 而 http://example2.com 返回了下面的响应头:Content-Type: application/json;charset=utf-8Content-Length: 3210Server: apacheAccess-Control-Allow-Origin: http://example.com————————————————版权
本文链接地址:https://www.jiuchutong.com/zhishi/295972.html 转载请保留说明!

上一篇:图文详解vue.js devtools插件使用方法(图文详解一本通)

下一篇:(区别、详解、使用)module.exports与exports,export与export default,import 与require(建造师与建筑师的区别详解)

  • excel进度条样式怎么设置(excel中设置进度条)

  • ipadmini5防水等级是多少(ipad mini6防水等级)

  • 快手直播同城置顶怎么回事(快手直播同城置顶软件)

  • 是不是充了话费就有流量了(是不是充话费送的)

  • iphone11支持双卡4g吗(苹果11双卡支持5g网络吗)

  • 华为手机最下面的三个按钮怎么设置(华为手机最下面三个键怎么设置)

  • 虚拟内存放c盘还是d盘(虚拟内存放在c盘)

  • 抖音dou投放好友知道吗(抖音投放对象)

  • 手机qq怎么设置自动回复消息的内容(手机qq怎么设置离线状态)

  • 分辨率在哪里(ps的分辨率在哪里)

  • qq音乐会员过期后下载的歌还能听吗(qq音乐会员过期下载的音乐就不能播放了)

  • 显卡驱动日期代表什么意思(显卡驱动程序日期)

  • 苹果x充电一般多长时间(苹果x充电一般多久充满)

  • 怎样把手机号码存到卡上(怎样把手机号码拉入黑名单)

  • 主板蜂鸣器怎么接(主板蜂鸣器怎么接线)

  • 怎么查看苹果手机wifi密码显示(怎么查看苹果手机连接的wifi密码)

  • 如何发传真给对方(如何发传真给对方手机)

  • 为什么鼠标一点就选中一片(为什么鼠标一点就全选了)

  • 电脑系统设置在哪里(电脑打开进不了系统怎么办)

  • win10怎么安装蓝牙(wind10蓝牙怎么安装)

  • p30流光快门怎么用(mate30流光快门)

  • CVPR 2022 最全整理:论文分方向汇总 / 代码 / 解读 / 直播 / 项目(更新中)(cvpr2020结果)

  • 如何在Python中生成ndarray(pythonzen)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络