MIME type là một nhãn ngắn dùng để chỉ định định dạng của tệp, ví dụ image/jpeg cho ảnh JPG. MIME là viết tắt của Multipurpose Internet Mail Extensions. Tên gọi chính thức hiện nay là media type, vì vậy bạn thường thấy dùng cả hai thuật ngữ.
Khi bạn đọc metadata của một tệp, MIME type cho bạn biết tệp đó có định dạng nào. Trình duyệt và chương trình email dùng nhãn này để quyết định cách mở, hiển thị hoặc phát tệp.
Giá trị trông như thế nào
Một MIME type có 2 phần, type và subtype, với một dấu gạch chéo giữa chúng và không có khoảng trắng. Type chỉ loại dữ liệu tổng quát, còn subtype chỉ định định dạng chính xác. Trong image/jpeg, type là image và subtype là jpeg.
Danh sách type chính thức của IANA có 11 mục: application, audio, example, font, haptics, image, message, model, multipart, text và video. Type example chỉ dùng trong ví dụ, nên không có định dạng nào được đăng ký dưới type này.
Chữ hoa và chữ thường được hiểu như nhau, nhưng các MIME type thường được viết bằng chữ thường. Một tham số có thể đi theo sau dấu chấm phẩy. Ví dụ, text/plain;charset=UTF-8 đánh dấu một tệp văn bản thuần dùng bộ ký tự UTF-8.
Các giá trị điển hình
Dưới đây là các định dạng phổ biến và MIME type tương ứng trên web:
- Ảnh JPG:
image/jpeg - Ảnh PNG:
image/png - Tài liệu PDF:
application/pdf - Âm thanh MP3:
audio/mpeg - Video MP4:
video/mp4 - Văn bản thuần:
text/plain - Tài liệu Word (DOCX):
application/vnd.openxmlformats-officedocument.wordprocessingml.document
vnd. ở đầu subtype của Word đánh dấu một định dạng của nhà cung cấp, tức một định dạng gắn với một sản phẩm được phát hành công khai. Hậu tố sau dấu cộng cho biết định dạng nền tảng. image/svg+xml được xây dựng trên XML, và application/epub+zip là một kho nén ZIP.
Một tệp JPG có thể có một trong nhiều phần mở rộng, như .jpg, .jpeg hoặc .jpe, nhưng chỉ có một MIME type: image/jpeg. Danh sách media type chính thức của IANA không có mục nào tên là image/jpg.
Giá trị đến từ đâu
MIME type bắt đầu từ email. Tiêu chuẩn MIME đầu tiên, RFC 1341, ra mắt vào tháng 6 năm 1992. Nhờ MIME, email có thể mang các bộ ký tự khác, nội dung không phải văn bản như hình ảnh và các thư gồm nhiều phần.
Hiện nay RFC 2045, từ tháng 11 năm 1996, định nghĩa dòng Content-Type mô tả nội dung của một thông điệp. Website gửi cùng loại nhãn này trong header Content-Type của từng tệp. Internet Assigned Numbers Authority (IANA) duy trì danh sách chính thức các media type.
Để xác định định dạng, một chương trình có thể kiểm tra phần mở rộng tên tệp hoặc các byte đầu tiên của tệp. Phần mở rộng chỉ là một phần của tên tệp, và không có gì đảm bảo nó chính xác. Nhiều định dạng bắt đầu bằng một mẫu byte cố định, gọi là magic number, nhưng không phải tất cả đều như vậy.
Những tệp nào chứa nó
Một báo cáo metadata có thể hiển thị MIME type cho nhiều loại tệp: ảnh, bài hát, video hoặc tài liệu. ExifTool, một trình đọc metadata phổ biến, liệt kê giá trị này là MIMEType trong nhóm File của nó. Cùng nhóm này còn có kiểu tệp và phần mở rộng kiểu tệp.
Một số định dạng cũng chứa MIME type bên trong tệp. Một sách điện tử EPUB phải bắt đầu bằng một tệp nhỏ tên mimetype chứa application/epub+zip. Trong thẻ ID3 của tệp MP3, một ảnh đính kèm ghi rõ định dạng của chính nó, ví dụ image/jpeg hoặc image/png.
Tại sao nó quan trọng
Trình duyệt dùng MIME type, không phải phần mở rộng tệp, để quyết định cách xử lý một tệp từ web. Nếu nhãn bị sai, một trang có thể không hoạt động và trình duyệt có thể xử lý việc tải xuống không đúng cách.
Khi một website không nhận diện được loại tệp, nó thường gửi application/octet-stream, tức dữ liệu nhị phân chưa xác định. Khi đó trình duyệt sẽ đề nghị lưu tệp thay vì mở nó.