你的图片可能是这样被CORB“拦截”的
问题
最近学习一个uniapp+nodejs的项目,前端写了这样一个标签
<image :src="info.imgUrl" ></image>
按理说不应该有什么问题,但运行在 Chrome 后图片却加载不出来,打开控制台看到被CORB策略拦截了,详细信息:
Cross-Origin Read Blocking (CORB) 已屏蔽 MIME 类型为 application/json 的跨域响应
http://localhost:3000/privateImg/xxxxx.bmp。
如需了解详情,请参阅 https://www.chromestatus.com/feature/5629709824032768。
之前最多也就是看到过跨域引起CORS策略的拦截,还没见识过CORB是什么,于是就查阅了资料:
- 什么是
CORB?
全称为Cross-Origin Read Blocking(跨源读取阻塞),是一种判断是否要在跨站资源数据到达页面之前阻断其到达当前站点进程中的算法,降低了敏感数据暴露的风险。 - 为什么会产生
CORB?
跨域标签<script>和<img>等请求回来的数据 MIME type (比较常见的有application/javascript、application/json等)与跨域标签应有的 MIME 类型不匹配时,浏览器会启动CORB保护数据不被泄漏,被保护的数据类型只有 html、xml 和 json。
这时我看到参考文章中关于 内容嗅探技术(MIME sniffing)的介绍,被屏蔽图片的 MIME Type 是 application/json,于是认为浏览器把 MIME Type 推测错了,因此去给服务器的响应添加了首部X-Content-Type-Options: nosniff用来告知浏览器停止内容嗅探,果不其然还是不行。
思路在误区渐行渐远 -> 想着图片被拦截了去关闭CORB策略就该好了,然后用了几种办法都关不掉(可能是新版 Chrome 已经不允许关闭了)。
解决
这个拦截的出现,实际上是因为 image 标签请求的图片资源,后端并没有找到,返回了一个 application/json 类型的 json 反馈信息,于是自然而然被CORS策略拦截了。
重新调整后端的静态资源路由后,问题就解决了。
(没有进行接口测试吃的亏)
参考资料:https://juejin.cn/post/6844903831373889550
你的图片可能是这样被CORB“拦截”的的更多相关文章
- SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截
因为在web.xml配置了 <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pa ...
- ftp如何预览图片 解决方案
下载使用 server-U ,开启 HTTP 服务,输入 http://ip:端口 后,登录ftp账号密码,可选使用 基于java的应用 web client 或 FTP Voyager JV,来预览 ...
- 在viewPager中双指缩放图片,双击缩放图片,单指拖拽图片
我们就把这个问题叫做图片查看器吧,它的主要功能有: (项目地址:https://github.com/TZHANHONG/ImageViewer/releases/tag/1.0,里面的MyImage ...
- highchart导出功能的介绍更改exporting源码
本案利用highchar作为前端,展示数据的图形效果,结合spring+springmvc来完成数据图片的导出. jsp引入文件: <script src="${pageContext ...
- 粗略整理的java面试题
1.垃圾回收 是回收的空闲堆空间 只有在cpu空闲并且堆空间不足的情况下才回收 2.threadlocal 就是为线程的变量都提供了一个副本,每个线程运行都只是在更新这个副本. Threadloc ...
- 在360、UC等浏览器,img不加载原因
问题:图片在360浏览器不被加载,在UC浏览器强制不显示. 前言不多说,直接上图. 360浏览器显示情况: UC浏览器显示情况: 由以上两张截图可以看到,在360浏览器,banner图片处根本没有加载 ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- SpringMVC框架六:拦截器
拦截器的概念就不介绍了: SpringMVC中拦截器的执行规则: 一个小示例展示: 我搞两个拦截器: 第一个: package org.dreamtech.springmvc.interceptor; ...
- 我的WafBypass之道(upload篇)
0x00 前言 玩waf当然也要讲究循序渐进,姊妹篇就写文件上传好了,感觉也就SQLi和Xss的WafBypass最体现发散性思维的,而文件上传.免杀.权限提升这几点的Bypass更需要的是实战的经验 ...
随机推荐
- 手把手教你把 Git 子模块更新到主项目
本文以 skywalking-rocketbot-ui子模块合并到 skywalking 为例,手把手教你如何把 Git 子模块更新到主项目中去. 首先,把fork的skywalking项目克隆到本地 ...
- 详细介绍rar是什么由谁发明
RAR是一种专利文件格式,用于数据紧缩与归档打包,开发者为尤金·罗谢尔(俄语:Евгений Лазаревич Рошал,拉丁转写:Yevgeny Lazarevich Roshal),RAR的全 ...
- 关于SpringCloud中,使用 Hystrix的问题
springCloud升级后.导致 HtystrixDashboard 默认的servlet请求路径修改了 将业务的微服务使用 HtystrixDashboard 仪表盘第一次监控时出现 Unable ...
- C#控制树莓派入门
何为树莓派 许久没有写博客了,十二月份西安疫情的影响,居家隔离了一个多月,在其期间,学习了一下树莓派,觉得硬件还是挺有意思的,刚好也看到了巨硬有提供使用c#用来开发树莓派应用的解决方案叫Net Iot ...
- WebGL 与 WebGPU比对[5] - 渲染计算的过程
目录 1. WebGL 1.1. 使用 WebGLProgram 表示一个计算过程 1.2. WebGL 没有通道 API 2. WebGPU 2.1. 使用 Pipeline 组装管线中各个阶段 2 ...
- 简单的html js node 前端直接使用反向代理软件
先放上已经打包好的地址 https://gitee.com/Amengxiaoya/node-proxy.git 切记 proxyConfig.json 设置代理 ip为自己的ipv4地址 (cmd ...
- 【C# 线程】RPC中常见的Stub| marshalling怎么理解
RPC服务的基本架构图如上,可以很清楚地看到,一个完整的RPC架构里面包含了四个核心的组件,分别是Client ,Server,Client Stub以及Server Stub,这个Stub大家可以理 ...
- WPF中TabControl控件和ListBox控件的简单应用(MVVM)
本文主要实现下图所示的应用场景: 对于Class1页,会显示用户的age和address属性,对于Class2页,会显示用户的age,address和sex属性.在左边的ListBox中选择对应的用户 ...
- 前端js webuploader上传(导入)excel文件
项目开发中用到导入(上传)Excel文件 我使用的是百度的webuploader: 1:下载:http://fex.baidu.com/webuploader/(官方下载/示例) 2:使用Web Up ...
- 微信小程序书简易支付
这里结合了上一篇的手机号登录接下来的实现功能 https://www.cnblogs.com/xiaoyantongxue/p/15472915.html 登录后进入课程选择页面 1:数据库填入数据 ...