COOP/COEP headers 可以用meta标签设置吗(http-equiv)?
Can COOP/COEP headers be set with meta tags (http-equiv)?
Cross-Origin-Embedder-Policy
和 Cross-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 中支持它们将是一个安全漏洞。
Cross-Origin-Embedder-Policy
和 Cross-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 中支持它们将是一个安全漏洞。