Cross-Origin Read Blocking (CORB) 网络兼容性和对其他资源的影响问题

CORB 对图像的影响

CORB 对标签应该没有明显的影响,除非图像资源 1) 被错误地标记为不正确的、非图像的、受 CORB 保护的 Content-Type 和 2) 与响应标头一起提供X-Content-Type-Options: nosniff

例子:

  • 正确标记的 HTML 文档

    • 标签中使用的资源

      • 正文:一个 HTML 文档
      • Content-Type: text/html
      • 没有X-Content-Type-Options标题
    • 预期行为:无明显差异。当 1) 尝试将 html 文档呈现为图像(没有 CORB)和 2) 尝试将空响应呈现为图像(当 CORB 阻止响应时)时,呈现的图像应该是相同的损坏图像。
    • WPT测试:fetch/corb/img-html-correctly-labeled.sub.html
  • 错误标记的图像(嗅探)

    • 标签中使用的资源

      • 正文:图像
      • Content-Type: text/html
      • 没有X-Content-Type-Options标题
    • 预期行为:无差异。CORB 将嗅探到响应主体实际上不是受 CORB 保护的类型,因此将允许响应。
    • WPT测试:fetch/corb/img-png-mislabeled-as-html.sub.html
  • 错误标记的图像(nosniff)

    • 标签中使用的资源

      • 正文:图像
      • Content-Type: text/html
      • X-Content-Type-Options: nosniff
    • 预期行为:可观察到的差异。由于nosniff标头,CORB 将不得不依赖Content-Type标头。因为此响应被错误标记(正文是图像,但标题Content-Type说它是 html 文档),CORB 将错误地将响应分类为需要 CORB 保护。
    • WPT测试:fetch/corb/img-png-mislabeled-as-html-nosniff.tentative.sub.html

除了 HTML标记之外,上面的示例还适用于其他使用图像的网络功能 - 包括但不限于:

  • /favicon.ico
  • SVG 的
  • (参见 WPT 测试fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html:)
  • background-image在样式表中
  • 将图像绘制到(可能被污染的)HTML 上
[[email protected] ] 早期尝试阻止具有不兼容 MIME 类型的 nosniff 图像失败了。我们认为 CORB 会更幸运,因为它只会阻止 CORB 保护的 MIME 类型的子集(例如,它不会application/octet-streamFirefox 错误中引用的那样阻止)

CORB 对多媒体的影响

音频和视频资源应该会看到与图像类似的影响,尽管 206 响应更有可能出现在媒体上。

CORB 对脚本的影响

CORB 应该对标签没有明显的影响

你可能感兴趣的:(Cross-Origin Read Blocking (CORB) 网络兼容性和对其他资源的影响问题)