Какой MIME-тип у файлов .html?
MIME-тип (медиатип) для файлов HTML-документ с расширением .html — text/html. Это тип каждой веб-страницы. Всегда указывайте charset (text/html; charset=utf-8) или объявляйте <meta charset="utf-8"> в первых 1024 байтах, иначе браузеры могут угадывать кодировку.
Заголовок Content-Type
Content-Type: text/html; charset=utf-8
Текстовые типы должны включать charset, чтобы браузер корректно декодировал символы.
Настройка сервера
| Сервер | Настройка |
|---|---|
Nginx (mime.types или types {}) | text/html html; |
Apache (.htaccess) | AddType text/html .html |
IIS (web.config) | <mimeMap fileExtension=".html" mimeType="text/html" /> |
| Node.js / Express | res.type('html') или res.setHeader('Content-Type', 'text/html; charset=utf-8') |
| Amazon S3 | Задайте Content-Type: text/html для объекта (метаданные) или передайте --content-type text/html в aws s3 cp |
Нужно ли сжимать файлы .html?
Да. HTML-документ — это текст, поэтому включение gzip или Brotli для text/html обычно сокращает объём передачи на 50–80 %. Убедитесь, что список сжимаемых типов на вашем сервере содержит этот тип — проверить можно с помощью проверки сжатия сайта.
Зачем нужен MIME-тип
Браузер решает, что делать с ответом — отобразить, выполнить, воспроизвести или скачать — по заголовку Content-Type, а не по расширению файла. При X-Content-Type-Options: nosniff неверный тип приводит к тому, что таблицы стилей и скрипты полностью блокируются. Для загрузок никогда не доверяйте типу, присланному клиентом; проверяйте содержимое файла (его сигнатуру, magic bytes) на сервере.
Поиск MIME-типов
Ищите среди всех распространённых расширений файлов и MIME-типов, с готовыми заголовками Content-Type для копирования.
Часто задаваемые вопросы
Какой MIME-тип у .html?
text/html.Как задать Content-Type для .html в Nginx?
text/html html; есть в блоке types (обычно в /etc/nginx/mime.types), и перезагрузите Nginx.