我正在尝试使用html
模式从https://sub.app.test/html
提取位于URL https://app.test
上的no-cors
文件,但是响应被CORB阻止(跨域读取阻止)
fetch('https://sub.app.test/html', { mode: 'no-cors'})
为什么?
答案 0 :(得分:2)
即使使用no-cors
模式(因此不需要允许响应Access-Control-Allow-Origin
),CORB也阻止了该请求,因为html内容被认为是数据资源(它可以包含敏感数据)。 MIME类型为text/html
(并且在响应正文中嗅探html或设置了X-Content-Type-Options: nosniff
的任何类型的资源)都会被CORB阻止,以便使用Spectre漏洞(如Spectre漏洞(该资源将不会添加到网站渲染器的内存中。
有几种方法可以绕过此约束:
app.test
)的资源cors
模式(服务器需要添加正确的Access-Control
标头)text/html
以外的其他类型,或者根本不设置标头(hacky)了解更多: