Какой MIME-тип у файлов .gz?
MIME-тип (медиатип) для файлов архива Gzip с расширением .gz — application/gzip. Также можно встретить application/x-gzip. Так отдаётся gzip-файл на скачивание. Не путайте его с Content-Encoding: gzip, который прозрачно сжимает ответ сервера.
Заголовок Content-Type
Content-Type: application/gzip
Настройка сервера
| Сервер | Настройка |
|---|---|
Nginx (mime.types или types {}) | application/gzip gz; |
Apache (.htaccess) | AddType application/gzip .gz |
IIS (web.config) | <mimeMap fileExtension=".gz" mimeType="application/gzip" /> |
| Node.js / Express | res.type('gz') или res.setHeader('Content-Type', 'application/gzip') |
| Amazon S3 | Задайте Content-Type: application/gzip для объекта (метаданные) или передайте --content-type application/gzip в aws s3 cp |
Нужно ли сжимать файлы .gz?
Нет. Файлы архивов Gzip уже сжаты внутри, поэтому gzip или Brotli только потратят процессор и почти не уменьшат размер, а иногда даже увеличат его. Не включайте application/gzip в конфигурацию сжатия.
Зачем нужен правильный MIME-тип
Браузеры решают, что делать с ответом (отобразить, выполнить, воспроизвести или скачать), по заголовку Content-Type, а не по расширению файла. При X-Content-Type-Options: nosniff неверный тип приводит к тому, что таблицы стилей и скрипты полностью блокируются. Для загрузок никогда не доверяйте типу, который прислал клиент; проверяйте содержимое файла (его магические байты) на сервере.
Поиск MIME-типов
Поиск по всем распространённым расширениям файлов и MIME-типам, с готовыми заголовками Content-Type для копирования.
Часто задаваемые вопросы
Какой MIME-тип у .gz?
application/gzip. Встречается также вариант: application/x-gzip.Как задать Content-Type для .gz в Nginx?
application/gzip gz; есть в блоке types (обычно в /etc/nginx/mime.types), и перезагрузите Nginx.