Spec-Zone.ru › HTTP

Заголовки: X-Content-Type-Options

Заголовок X-Content-Type-Options

HTTP-заголовок X-Content-Type-Options ответа указывает, что MIME-типы, объявленные в заголовках Content-Type, следует использовать без изменений. Этот заголовок позволяет избежать определения MIME-типа по содержимому, указывая, что MIME-типы заданы намеренно.

Специалисты по безопасности сайтов обычно ожидают, что этот заголовок будет установлен (и что заголовок Content-Type правильно установлен для всех ресурсов).

Директива nosniff имеет два эффекта в зависимости от контекста:

  • Блокировка запросов: для запросов с назначением "script" или "style" браузер блокирует ответ, если MIME-тип не соответствует ожидаемому (для скриптов — MIME-тип JavaScript, для таблиц стилей — text/css). Подробнее см. в спецификации Fetch.
  • Определение MIME-типа по содержимому отключено: для других типов ответа, включая переходы к новому HTML-документу, браузер использует переданный Content-Type без изменений, а не анализирует содержимое, чтобы определить тип. Например, если сервер отправляет ответ с Content-Type: text/plain и X-Content-Type-Options: nosniff, браузер не будет интерпретировать его как HTML, даже если содержимое включает HTML-разметку. Это предотвращает XSS-атаки, при которых загруженное пользователем содержимое выполняется как HTML-документ, даже если браузер указал, что его следует считать обычным текстом (или содержимым другого типа). Подробнее см. в спецификации MIME Sniffing.
Тип заголовка Заголовок ответа
Запрещённый заголовок ответа Нет

Синтаксис

X-Content-Type-Options: nosniff

Директивы

nosniff

Блокирует запрос, если назначение запроса имеет тип style, а MIME-тип не равен text/css, или если оно имеет тип script, а MIME-тип не является MIME-типом JavaScript.

Также отключает определение MIME-типа по содержимому для всех остальных типов ответа, заставляя браузер использовать объявленный Content-Type без анализа содержимого ответа. В частности, это не позволяет браузеру интерпретировать ответ как text/html при загрузке в контексте просмотра, если заголовок Content-Type отсутствует или указывает на тип, отличный от HTML.

Спецификации

Спецификация
Fetch>
# x-content-type-options-header>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android WebView на iOS
X-Content-Type-Options 64
1–64Не поддерживается для таблиц стилей.
12 50 51
15–51Не поддерживается для таблиц стилей.
11 64
18–64Не поддерживается для таблиц стилей.
50 47
14–47Не поддерживается для таблиц стилей.
11 9.0
1.0–9.0Не поддерживается для таблиц стилей.
64
4.4–64Не поддерживается для таблиц стилей.
11

См. также

  • Content-Type
  • Первоначальное определение X-Content-Type-Options от Microsoft.
  • Используйте HTTP Observatory для проверки конфигурации безопасности веб-сайтов (в том числе этого заголовка).
  • Защита Firefox от атак, связанных с путаницей MIME-типов

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API