Kiểu MIME của file .mjs là gì?
Kiểu MIME (media type) của file JavaScript module có đuôi .mjs là text/javascript. Bạn cũng có thể gặp application/javascript. Kiểu này cũng được dùng cho .js. Đuôi .mjs đánh dấu các ES module trong Node.js. Một số máy chủ cũ không nhận ra đuôi này và gửi application/octet-stream, khiến trình duyệt từ chối các script module, vì vậy hãy khai báo kiểu này một cách rõ ràng.
Header Content-Type
Content-Type: text/javascript; charset=utf-8
Các kiểu dạng văn bản nên có 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 mjs; |
Apache (.htaccess) | AddType text/javascript .mjs |
IIS (web.config) | <mimeMap fileExtension=".mjs" mimeType="text/javascript" /> |
| Node.js / Express | res.type('mjs') 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 .mjs không?
Có. JavaScript module 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, và 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 sẽ 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ủ.
Tra cứu kiểu MIME
Tìm mọi đuôi file phổ biến và kiểu MIME, kèm header Content-Type sẵn sàng sao chép.
Câu hỏi thường gặp
Kiểu MIME của .mjs là gì?
text/javascript. Một lựa chọn khác thường gặp: application/javascript.Làm sao để đặt Content-Type cho .mjs trong Nginx?
text/javascript mjs; có trong khối types (thường nằm trong /etc/nginx/mime.types), rồi tải lại Nginx.