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