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