Tipo MIME de .js: text/javascript

Arquivos com extensão .js (JavaScript) usam o tipo MIME text/javascript.

Atualizado em

text/javascript
Tipo MIME de .js
Web
Categoria
Sim
Comprimir com gzip/Brotli

Qual é o tipo MIME dos arquivos .js?

O tipo MIME (media type) para arquivos JavaScript com a extensão .js é text/javascript. Você também pode encontrar application/javascript. O mesmo tipo é usado para .mjs. A RFC 9239 (2022) tornou text/javascript o tipo oficial, mas application/javascript continua sendo aceito em todos os lugares. Módulos ES carregados com <script type="module"> precisam ser servidos com um tipo MIME de JavaScript, caso contrário o navegador os bloqueia.

Cabeçalho Content-Type

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

Tipos baseados em texto devem incluir um charset para que o navegador interprete os caracteres corretamente.

Configuração do servidor

ServidorConfiguração
Nginx (mime.types ou types {})text/javascript js;
Apache (.htaccess)AddType text/javascript .js
IIS (web.config)<mimeMap fileExtension=".js" mimeType="text/javascript" />
Node.js / Expressres.type('js') ou res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Defina Content-Type: text/javascript no objeto (metadados) ou passe --content-type text/javascript para aws s3 cp

Os arquivos .js devem ser comprimidos?

Sim. JavaScript é texto, então ativar gzip ou Brotli para text/javascript normalmente reduz o tamanho da transferência em 50–80%. Certifique-se de que a lista de compressão do seu servidor inclui esse tipo. Confira com o teste de compressão de site.

Por que o tipo MIME importa

Os navegadores decidem o que fazer com uma resposta (renderizar, executar, reproduzir ou baixar) com base no cabeçalho Content-Type, e não na extensão do arquivo. Com X-Content-Type-Options: nosniff, um tipo errado faz com que folhas de estilo e scripts sejam bloqueados. Em uploads, nunca confie no tipo enviado pelo cliente; verifique o conteúdo do arquivo (seus magic bytes) no servidor.

Perguntas frequentes

Qual é o tipo MIME de .js?
text/javascript. Outra alternativa que aparece com frequência: application/javascript.
Como defino o Content-Type de .js no Nginx?
Certifique-se de que text/javascript js; esteja listado no bloco types (geralmente em /etc/nginx/mime.types) e recarregue o Nginx.
Devo compactar arquivos .js com gzip?
Sim. O formato comprime bem, então adicione o tipo à sua configuração de gzip/Brotli.