X-Content-Type-Options

X-Content-Type-Options は HTTP のレスポンスヘッダーで、 Content-Type ヘッダーで示された MIME タイプを変更せずに従うべきであることを示すために、サーバーによって使用されるマーカーです。これにより、MIME タイプのスニッフィングを抑止することができます。言い替えれば、 MIME タイプを意図的に設定することができます。

このヘッダーは、 Microsoft が IE 8 において、コンテンツのスニッフィングにより、実行不可能な MIME タイプを実行可能な MIME タイプに変換してしまうという事故を抑止するためのとして導入したものです。それ以来、他のブラウザーは 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

リクエスト先のタイプが style でありその MIME タイプが text/css ではない場合、または、タイプが script で MIME タイプが JavaScript の MIME タイプではない場合にリクエストをブロックします。

仕様書

Specification
Fetch Standard
# x-content-type-options-header

ブラウザーの互換性

BCD tables only load in the browser

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

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

関連情報