COOP/COEP headers 可以用meta标签设置吗(http-equiv)?

Can COOP/COEP headers be set with meta tags (http-equiv)?

Cross-Origin-Embedder-PolicyCross-Origin-Opener-Policy headers 可以用 <meta> 标签设置,还是只能用实际的 headers 设置?如果没有,是否有 headers 的列表,其中 可以 设置元标记?

以下示例将 crossOriginIsolated: false 记录到控制台。

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Cross-Origin-Embedder-Policy" content="require-corp">
  <meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>COOP/COEP header test</title>
</head>
<body>
  <script>console.log("crossOriginIsolated:", self.crossOriginIsolated)</script>
</body>
</html>

如果我删除那些 http-equiv 元标记并使用实际 HTTP headers 提供文件,那么它会记录 crossOriginIsolated: true(在 Chrome 和 Firefox 中)。所以我好像不能用元标签设置这些 headers?

不,他们不能。

根据此规范,http-equiv 仅支持少数 HTTP headers。 https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv.

这意味着这些 headers 只能由服务器设置为 HTTP(“实际”)headers。
在 HTML 中支持它们将是一个安全漏洞。