Kiểu MIME .js: text/javascript

File có đuôi .js (JavaScript) sử dụng kiểu MIME text/javascript.

Cập nhật

text/javascript
Kiểu MIME của .js
Web
Danh mục
Có
Nén bằng gzip/Brotli

Kiểu MIME của file .js là gì?

Kiểu MIME (media type) của file JavaScript có đuôi .js là text/javascript. Bạn cũng có thể gặp application/javascript. Cùng kiểu này được dùng cho .mjs. RFC 9239 (2022) đã biến text/javascript thành kiểu chính thức; application/javascript vẫn được chấp nhận ở mọi nơi. Các ES module được tải bằng <script type="module"> phải được phục vụ với kiểu MIME JavaScript, nếu không trình duyệt sẽ chặn chúng.

Header Content-Type

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

Các kiểu dựa trên văn bản nên kèm charset để trình duyệt giải mã ký tự đúng cách.

Cấu hình máy chủ

Máy chủCấu hình
Nginx (mime.types hoặc types {})text/javascript js;
Apache (.htaccess)AddType text/javascript .js
IIS (web.config)<mimeMap fileExtension=".js" mimeType="text/javascript" />
Node.js / Expressres.type('js') hoặc res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Đặt Content-Type: text/javascript trên object (metadata), hoặc truyền --content-type text/javascript vào aws s3 cp

Có nên nén file .js không?

Có. JavaScript là văn bản, nên bật gzip hoặc Brotli cho text/javascript thường giúp giảm 50–80 % dung lượng truyền tải. Hãy đảm bảo danh sách nén của máy chủ có kiểu này — kiểm tra bằng công cụ kiểm tra nén website.

Vì sao kiểu MIME quan trọng

Trình duyệt quyết định xử lý phản hồi — hiển thị, chạy, phát hay tải xuống — dựa trên header Content-Type, không phải đuôi file. Với X-Content-Type-Options: nosniff, kiểu sai khiến stylesheet và script bị chặn hoàn toàn. Với file tải lên, đừng bao giờ tin kiểu do client gửi; hãy kiểm tra nội dung file (magic bytes) trên máy chủ.

Câu hỏi thường gặp

Kiểu MIME của .js là gì?
text/javascript. Các kiểu thay thế thường gặp: application/javascript.
Làm thế nào để đặt Content-Type cho .js trong Nginx?
Đảm bảo text/javascript js; có trong khối types (thường nằm trong /etc/nginx/mime.types) rồi tải lại Nginx.
Có nên nén file .js bằng gzip không?
Có — định dạng này nén rất tốt, nên hãy thêm kiểu này vào cấu hình gzip/Brotli.