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