.js MIME-тип: text/javascript

Файлы с расширением .js (JavaScript) используют MIME-тип text/javascript.

Обновлено

text/javascript
MIME-тип для .js
Веб
Категория
Да
Сжимать gzip/Brotli

Какой MIME-тип у файлов .js?

MIME-тип (тип медиаданных) для файлов JavaScript с расширением .js — text/javascript. Также можно встретить application/javascript. Тот же тип используется для .mjs. RFC 9239 (2022) сделал text/javascript официальным типом, а application/javascript по-прежнему принимается везде. ES-модули, загружаемые через <script type="module">, должны отдаваться с JavaScript MIME-типом, иначе браузер их заблокирует.

Заголовок Content-Type

Content-Type: text/javascript; charset=utf-8

Текстовые типы должны включать charset, чтобы браузер корректно декодировал символы.

Настройка сервера

СерверНастройка
Nginx (mime.types или types {})text/javascript js;
Apache (.htaccess)AddType text/javascript .js
IIS (web.config)<mimeMap fileExtension=".js" mimeType="text/javascript" />
Node.js / Expressres.type('js') или res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Задайте Content-Type: text/javascript для объекта (метаданные) или передайте --content-type text/javascript в aws s3 cp

Нужно ли сжимать файлы .js?

Да. JavaScript — это текст, поэтому включение gzip или Brotli для text/javascript обычно уменьшает объём передачи на 50–80 %. Убедитесь, что список сжимаемых типов на вашем сервере включает этот тип. Проверить это можно с помощью теста сжатия сайта.

Почему MIME-тип важен

Браузеры решают, что делать с ответом (отобразить, выполнить, воспроизвести или скачать), по заголовку Content-Type, а не по расширению файла. При X-Content-Type-Options: nosniff неверный тип приводит к тому, что таблицы стилей и скрипты полностью блокируются. Для загрузок никогда не доверяйте типу, который отправил клиент; проверяйте содержимое файла (его сигнатуру, magic bytes) на сервере.

Часто задаваемые вопросы

Какой MIME-тип у .js?
text/javascript. Встречающаяся альтернатива: application/javascript.
Как задать Content-Type для .js в Nginx?
Убедитесь, что text/javascript js; указан в блоке types (обычно в /etc/nginx/mime.types), и перезагрузите Nginx.
Нужно ли сжимать файлы .js через gzip?
Да: этот формат хорошо сжимается, поэтому добавьте тип в конфигурацию gzip/Brotli.