跨域哪些事——6.使用第三方浏览器插件解决跨域

社区前端

如果还不了解跨域和同源策略的同学,可以去看一下第一篇,链接如下:跨域哪些事——1.如果没有跨域,世界会是怎样? - 文章 - 开发者社区 - 火山引擎 (volcengine.com)

1.简介

今天介绍一下使用第三方chrome插件实现跨域,这样的插件有很多,本文中以Allow CORS: Access-Control-Allow-Origin 插件为例做介绍。

chrome插件地址:Allow CORS: Access-Control-Allow-Origin - Chrome App Store (google.com)

Allow CORS官网:Community for open-source projects :: MyBrowserAddon

picture.image

本插件可以轻松将 (Access-Control-Allow-Origin: *) 规则添加到响应标头。

Allow CORS: Access-Control-Allow-Origin 让您可以轻松地在 Web 应用程序中执行跨域 Ajax 请求。 CORS 或跨源资源共享在现代浏览器中默认被阻止(在 JavaScript API 中)。安装此附加组件将允许您取消阻止此功能。当加载项添加到您的浏览器时,它默认处于非活动状态(工具栏图标为灰色 C 字母)。如果要激活附加组件,请打开工具栏弹出窗口并按左侧的切换按钮。该图标将变为橙色 C 字母。

picture.image

开启的图标:

picture.image

关闭的图标:

picture.image

2.原理

其实使用浏览器插件实现跨域也是CROS跨域的一种实现,他和上一篇文章中的nginx一样,起了一个中间件的作用。如果不了解可以看前两篇文章:跨域哪些事——4. 使用CROS实现跨域 - 文章 - 开发者社区 - 火山引擎 (volcengine.com)跨域哪些事——5.使用Nginx解决跨域 - 文章 - 开发者社区 - 火山引擎 (volcengine.com) 。是用浏览器插件在浏览器和服务器之间做了一层代理,把原来不允许跨域的请求用CROS跨域规范包装,使可以实现跨域。流程大家可以参照下图。

picture.image

没有代理时的响应头:

picture.image

插件代理后的响应头:

picture.image

3.总结

使用第三方浏览器插件进行跨域,是解决前后端跨域联调问题,大部分情况是一种前端在项目开发联调中的方式,可以方便前后端联调,不可能作为产品提供给客户。它的原理是浏览器插件把相应头和请求投添加CROS规范,让浏览器任务这个请求是符合跨域规范的。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论