<meta> http-equiv 属性
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
http-equiv
は <meta>
要素の属性で、文書を返したレスポンスに特定の HTTP ヘッダーが含まれているかのように、ブラウザーに処理指示を与えることができます。
メタデータは、ページ全体に適用される文書レベルのメタデータです。
<meta>
要素に http-equiv
属性が指定されている場合、content
属性には対応する http-equiv
の値を定義します。
例えば、次の <meta>
タグは、5 分後にページを更新するようにブラウザーに指示します。
<meta http-equiv="Refresh" content="300" />
値
HTTP ヘッダーの一部のみが http-equiv
値として対応しています。
これらは、以下に含まれます。
-
content-language
非推奨;- : 支援技術またはブラウザーによるスタイル設定で使用される、文書の既定の言語を設定します。
HTTP の
Content-Language
ヘッダーと同様です。 代わりにlang
属性を使用してください。
- : 支援技術またはブラウザーによるスタイル設定で使用される、文書の既定の言語を設定します。
HTTP の
-
content-type
- : 文書のメディア種別(MIME タイプ)および文字エンコードを宣言します。
content 属性は、指定する場合は
"text/html; charset=utf-8"
でなければなりません。 これは、charset
属性が指定された<meta>
要素と同等であり、文書内の配置に関する同じ制限があります。text/html
メディア種別で提供される文書でのみ使用できます。XML 型(application/xml
またはapplication/xhtml+xml
)で提供される文書では使用できません。 HTTP のContent-Type
ヘッダーを参照してください。
- : 文書のメディア種別(MIME タイプ)および文字エンコードを宣言します。
content 属性は、指定する場合は
-
content-security-policy
- : ページ作成者が、現在のページに対するコンテンツセキュリティポリシー (CSP) を定義できるようにします。通常、クロスサイトスクリプティング攻撃を防ぐために、許可するオリジンやスクリプトのエンドポイントを指定します。
HTTP の
Content-Security-Policy
ヘッダーを参照してください。
- : ページ作成者が、現在のページに対するコンテンツセキュリティポリシー (CSP) を定義できるようにします。通常、クロスサイトスクリプティング攻撃を防ぐために、許可するオリジンやスクリプトのエンドポイントを指定します。
HTTP の
-
default-style
- : 既定の CSS スタイルシートセットの名前を設定します。
-
refresh
-
: HTTP の
Refresh
ヘッダーと同等です。 この命令は、次のことを指定します。 -
content
属性が非負の整数である場合、ページが再読み込みされるまでの秒数です。 -
content
属性が非負の整数で、その後に;url=
および有効な URL が続く場合、ページが別の URL にリダイレクトされるまでの秒数。タイマーは、ページが完全に読み込まれたとき、つまり
load
およびpageshow
イベントが両方発生した後、開始されます。 詳細情報はアクセシビリティの考慮を参照してください。
-
-
set-cookie
非推奨;- : 文書にクッキーを設定します。
ブラウザーはこのプラグマを無視するようになりました。代わりに、 HTTP の
Set-Cookie
レスポンスヘッダーまたはdocument.cookie
を使用してください。
- : 文書にクッキーを設定します。
ブラウザーはこのプラグマを無視するようになりました。代わりに、 HTTP の
-
x-ua-compatible
非推奨;- : 現在は廃止された Microsoft Internet Explorer の古いバージョンで使用されており、指定された動作により忠実に従うようにしています。
指定された場合、
content
属性は "IE=edge
" という値を持つ必要があります。 ユーザーエージェントは、このプラグマを無視するようになりました。 この名前は、HTTP のX-UA-Compatible
ヘッダーに由来しています。
- : 現在は廃止された Microsoft Internet Explorer の古いバージョンで使用されており、指定された動作により忠実に従うようにしています。
指定された場合、
警告:
一部のブラウザーは、上記に掲載されていない追加のヘッダーを処理します。
認識されないヘッダーや不正な値は無視されるため、ブラウザーの実装によって動作に不整合が生じる可能性があります。
特に、<meta http-equiv=
を使用して その他のセキュリティヘッダーを設定しないでください。これは、誤ったセキュリティ意識につながるおそれがあります。
アクセシビリティの考慮
http-equiv="Refresh"
の値が設定されたページは、更新間隔が短すぎになるという危険性があります。
画面の内側から読み上げるような支援技術を利用している人は、自動的にリダイレクトされる前にページの内容を読み、理解することができないかもしれません。
また、突然に予告なくページ内容が更新されると、視力が低下している人にとっても、混乱する可能性があります。
例
安全でないインラインコードを無効にし、HTTPS リソースのみ許可する
この HTML の <meta>
要素は、HTTPS 経由でのリソース(画像、フォント、スクリプトなど)の読み込みのみを許可するように、既定の CSP を設定します。
unsafe-inline
および unsafe-eval
ディレクティブは設定されていないため、インラインスクリプトはブロックされます。
<meta http-equiv="Content-Security-Policy" content="default-src https:" />
同じ制限は、HTTP must be provided ヘッダーを使用して適用することができます。
Content-Security-Policy: default-src https:
ページのリダイレクトを設定
次の例では、 http-equiv="refresh"
を使用して、ブラウザーにリダイレクトを実行するように指示しています。
content="3;url=https://www.mozilla.org"
属性は、3 秒後にページを https://www.mozilla.org
にリダイレクトします。
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />
仕様書
Specification |
---|
HTML # attr-meta-http-equiv |
ブラウザーの互換性
関連情報
<meta name="referrer">
- メタデータ:
<meta>
要素 - Preventing attacks using
<meta>
httparchive.org (2022)