X-Content-Type-Options

X-Content-Type-Options は HTTP のレスポンスヘッダーで、 Content-Type ヘッダーで示された MIME タイプを変更せずに従うべきであることを示すために、サーバーによって使用されるマーカーです。これにより、MIME タイプのスニッフィングを抑止することができます。すなわち、ウェブマスターが自分が何をしているかを分かっていると言う手段です。

このヘッダーは、コンテンツのスニッフィングにより、実行不可能な MIME タイプを実行可能な MIME タイプに変換してしまうという事故をウェブマスターが抑止するための方法として、マイクロソフトが IE 8 で導入したものです。それ以来、他のブラウザーは MIME スニッフィングのアルゴリズムがそれほど積極的ではなくても、このヘッダーを導入してきました。

Firefox 72 から、 Content-type が提供されている場合、 MIME スニッフィングの抑止が最上位の文書にも適用されるようになりました。これにより、 HTML のウェブページが text/html 以外の MIME タイプで提供されている場合、表示される代わりにダウンロードされることがあります。両方のヘッダーを正しく設定してください。

サイトのセキュリティテスターは通常、このヘッダーが設定されていることを期待しています。

注: X-Content-Type-Options は、 nosniff によるリクエストブロッキングリクエスト先が "script" と "style" の場合のみ適用します。しかし、 Cross-Origin Read Blocking (CORB) 保護を HTML, TXT, JSON, XML の各ファイル (SVG image/svg+xml を除く) に対して有効にすることもできます。

ヘッダー種別 レスポンスヘッダー
禁止ヘッダー名 いいえ

構文

X-Content-Type-Options: nosniff

ディレクティブ

nosniff
リクエスト先のタイプが以下の場合、リクエストをブロックします。
Cross-Origin Read Blocking (CORB) 保護を次の MIME タイプに対して有効にします。
  • text/html
  • text/plain
  • text/json, application/json またはその他の JSON 拡張を伴うタイプ: */*+json
  • text/xml, application/xml またはその他の XML 拡張を伴うタイプ: */*+xml (image/svg+xml を除く)

仕様書

仕様書 状態 備考
Fetch
X-Content-Type-Options definition の定義
現行の標準 初回定義

ブラウザーの互換性

BCD tables only load in the browser

ブラウザー固有の注意事項

  • Firefox 72 は最上位文書で X-Content-Type-Options: nosniff を有効にします。

関連情報