MIME type là thuật ngữ bạn sẽ thấy không ít lần nếu đã sử dụng các email client (MUA) trên desktop. Vậy MIME type là gì và cách cài đặt MIME Type như thế nào. Bạn nào chưa biết thì hãy cùng TinoHost tìm hiểu qua bài viết dưới đây nhé.
MIME Type là gì?
MIME – Viết tắt của cụm từ “Multipurpose Internet Mail Extensions” có nghĩa là giao thức mở rộng thư điện tử Internet đa mục đích được mô tả trong RFC 1524 và các RFC khác như: RFC 2045, RFC 2046, RFC 2047, RFC 2231.
Loại MIME (MIME Type) là tiêu chuẩn giúp phân loại các loại tập tin được sử dụng trên Internet, đặc biệt là dùng để định dạng cho thư điện tử. Nói một cách đơn giản, lúc mới ra đời, giao thức gửi mail chỉ hỗ trợ gửi plaintext, MIME là phần mở rộng cho phép email có thể gửi/nhận các file có định dạng khác (HTML, video, nhạc, …). Hầu như mọi thư điện tử Internet được truyền qua giao thức SMTP theo định dạng MIME.
Ngày nay, các MIME Type không chỉ sử dụng với email, nó đã được chấp nhận bởi các máy chủ như là cách để nói cho các trình duyệt về kiểu của nguồn thông tin được gửi tới nó để mà nó có thể xử lý một cách chính xác với kiểu thông báo đó.
Về cơ bản cấu trúc của loại MIME có hai phần: kiểu chính và một kiểu phụ. Chúng được phân tách bằng dấu gạch chéo (/). Ngoài kiểu chính và kiểu phụ, MIME Type có thể chứa các thuộc tính bổ sung sau dấu chấm phẩy.
Ví dụ: loại MIME cho các tệp Microsoft Word là ứng dụng và loại phụ là msword. Cùng với nhau, loại MIME hoàn chỉnh là ứng dụng / msword.
Thêm một ví dụ minh họa cho bạn dễ hình dung:
Hãy tưởng tượng rằng, bạn viết một vài lá thư gửi cho bạn bè nhưng mỗi lá thư sẽ được viết bằng những loại ngôn ngữ khác nhau. Lá thư đầu tiên bạn viết bằng tiếng Pháp, lá thứ hai được viết bằng tiếng Đức,…
Để người bạn ấy có thể dịch những chữ đó, cậu ta sẽ cần:
Đầu tiên là xác định loại ngôn ngữ
Kế tiếp là dịch nó cho phù hợp. Tuy nhiên, việc xác định một ngôn ngữ không phải là dễ dàng – nó sẽ tốn rất nhiều thời gian và công sức. Nhưng mọi chuyện sẽ đơn giản hơn nhiều nếu bạn viết ngôn ngữ bạn đang gửi trên đầu thư, người bạn đó sẽ nhanh chóng xác định được ngôn ngữ cần dịch (ví dụ: “Tiếng Pháp”).
Tương tự như vậy, do có nhiều loại định dạng dữ liệu khác nhau cần được gửi qua internet, việc chỉ định kiểu dữ liệu ở phía trước sẽ cho phép máy khách tương ứng diễn giải đúng và hiển thị dữ liệu phù hợp với người dùng.
Những MIME Type phổ biến
Bạn có thể gặp một số MIME Type phổ biến hiện nay như:
- application/javascript
- application/json
- application/x-www-form-urlencoded
- application/xml
- application/zip
- application/pdf
- application/sql
- application/graphql
- application/ld+json
- application/msword (.doc)
- application/vnd.openxmlformats-officedocument.wordprocessingml.document (.docx)
- application/vnd.ms-excel (.xls)
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)
- application/vnd.ms-powerpoint (.ppt)
- application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)
- application/vnd.oasis.opendocument.text (.odt)
- audio/mpeg
- audio/ogg
- multipart/form-data
- text/css
- text/html
- text/xml
- text/csv
- text/plain
- image/png
- image/jpeg
- image/gif
Cấu trúc của MIME Type
Tất cả các MIME Type được đăng ký thông qua IANA, một cơ quan giám sát việc chỉ định địa chỉ IP, quản lý khu vực gốc của DNS toàn cầu, và cấp phát giao thức Internet khác. Để đạt được hiệu quả và tính linh hoạt khi đăng ký MIME Type, các cấu trúc khác nhau của kiểu phụ được phân biệt bằng cách sử dụng các tiền tố. Hiện tại một số cấu trúc thường thấy nhất gồm: Cấu trúc tiêu chuẩn (không có tiền tố), cấu trúc nhà cung cấp (tiền tố vnd.), Cá nhân hoặc vanity (tiền tố prs.), chưa đăng ký (tiền tố x.)
Cấu trúc tiêu chuẩn
Cấu trúc tiêu chuẩn không sử dụng bất kỳ tiền tố cây nào
Ví dụ: application/javascript, image/png
Việc đăng ký cấu trúc này phải được liên kết với các thông số kỹ thuật của IETF và được IESG phê duyệt trực tiếp hoặc được đăng ký bởi một tổ chức nào đó liên quan đến tiêu chuẩn mà IANA công nhận.
Cấu trúc nhà cung cấp
Cấu trúc nhà cung cấp bao gồm các MIME Type liên quan đến các sản phẩm được công khai. Nó sử dụng tiền tố là vnd.
Ví Dụ:
application/vnd.ms-excel, application/vnd.oasis.opendocument.text
Dùng “nhà cung cấp” hoặc “Nhà sản xuất” đều được. Các tập đoàn công nghiệp hoặc các tổ chức phi thương mại đều có thể đăng ký MIME Type có cấu trúc nhà cung cấp.
Cấu trúc cá nhân
Cấu trúc cá nhân bao gồm các MIME Type dùng cho sản phẩm thử nghiệm hoặc không được công khai. Sử dụng tiền tố prs.
Ví dụ: audio/prs.sid, image/prs.btif.
Cấu trúc chưa đăng ký
Cấu trúc chưa đăng ký bao gồm các MIME Type dành riêng trong môi trường riêng tư và nhận được sự đồng ý của các bên trao đổi chúng. Cấu trúc này sử dụng tiền tố là dấu x.
Ví dụ: application/x.foo, video/x.bar
Hậu tố
Hậu tố là một sự bổ sung cho khi xác định MIME Type.
Ví dụ về các hậu tố hiện đang được đăng ký là:
+xml, +json, +ber, +der, +fastinfoset, +wbxml, +zip, +gzip, +cbor
Cách khai báo MIME Type cho website
Khi bạn sử dụng ảnh cho website, và tải lên một file ảnh có định dạng là jpg, png, hay một video bị lỗi. Mặc dù các file này vẫn hiển nhiên tồn tại trên server. Hơn nữa mã nguồn cũng không thay đổi và vẫn hoạt động bình thường. Nguyên nhân chính nằm ở máy chủ bạn chưa được thêm các MIME type vào để hiểu các file.
Bạn có thể giải quyết việc này nhanh chóng bằng cách gán thêm các MIME Types cần thiết phù hợp với nhu cầu của chính bạn.
cPanel
Bước 1: Truy cập MIME
Đầu tiên các bạn đăng nhập vào host cPanel rồi vào mục MIME Type trong mục Advanced
Bước 2: Tạo tập tin .htaccess trong thư mục chứa các tệp đó.
Bước 3: Thêm các loại file cần cho phép tải về trực tiếp
Để thêm một MIME Type các bạn điền vào MIME Type và Extension(s) trong mục Create a MIME Type rồi ấn Add.
Các MIME Type thêm thành công sẽ hiện ở mục User-Defined MIME Type.
Trong mục System MIME Types là những MIME của hệ thống server đã cấu hình sẵn và bạn không thể thay đổi, bản chỉ có thể thêm các loại tập tin khác.
Windows (Plesk)
Bước 1: Đăng nhập vào Plesk Panel.
Bước 2: Chọn Websites & Domains.
Bước 3: Chọn Virtual Directories.
Bước 4: Chọn tab MIME Types > Add MIME Type.
Bước 5: Nhập định dạng file cần cấu hình vào phần Extension > Lựa chọn giá trị MIME Types thích hợp để nhập vào Content tương ứng >>> OK.
Windows (IIS 7/8)
Để thay đổi hoặc gán thêm MIME Types cho các hosting vận hành trên IIS7/8, bạn có thể tạo hay tùy chỉnh ngay tại cấu hình web.config.
- Thay đổi MIME Types hiện hữu
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=”.EXTENSION” />
<mimeMap fileExtension=”.EXTENSION” mimeType=”TYPE/SUBTYPE” />
</staticContent>
</system.webServer>
</configuration>
- Thay đổi các giá trị EXTENSION, TYPE, và SUBTYPE tương ứng
EXTENSION định dạng file.
TYPE loại MIME mà bạn cần dùng, như application, image, hay video.
SUBTYPE loại MIME subtype mà bạn cần dùng.
Như ví dụ trên, chúng ta xử lý bằng cách chèn thêm đoạn sau vào file web.config để các file MP4 có thể hoạt động được.
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=”.mp4″ />
<mimeMap fileExtension=”.mp4″ mimeType=”video/mp4″ />
</staticContent>
</system.webServer>
</configuration>
Thêm MIME Types tùy chỉnh
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=”.EXTENSION” mimeType=”TYPE/SUBTYPE” />
</staticContent>
</system.webServer>
</configuration>
Linux (DirectAdmin)
Bước 1: Đăng nhập vào DirectAdmin.
Bước 2: Chọn MIME Types bên dưới Advanced Features.
Bước 3: Nhập vào dạng MIME Type và định dạng file hỗ trợ > Add.
Linux (.htaccess)
Sử dụng “AddType” để thêm một MIME Types, tham số tiếp theo là loại MIME và cuối cùng là phần mở rộng của file. Ngoài ra, một số loại file không cho chạy trực tiếp trên trình duyệt mà yêu cầu download về máy, MIME Type cần thiết lập là: application/octec-stream
CyberPanel
Bước 1: Đăng nhập vào máy chủ server/vps
Bước 2: Mở file MIME Type và thêm vào
Bạn mở file /etc/mime.type và thêm vào các MIME Type cần dùng. Bạn có thể sử dụng vi, vim hoặc nano để mở file.
vi /etc/mime.types
Tại đây bạn sẽ thấy những mime type có sẵn. Giờ mình sẽ thêm một mime là text/x-php tpl bằng cách edit và thêm vào bất kỳ, sau đó thực hiện save lại và restart lại máy chủ.
Như vậy là bạn đã có thể khai báo MIME Type cho máy chủ của mình rồi đấy.
Để máy tính của bạn có thể đọc được nhiều file mà không gặp vấn đề nào, bạn cần cài đặt các MIME Type thích hợp. Bài viết trên đã cho bạn cái nhìn tổng quát nhất về MIME Type, hy vọng bạn sẽ có lựa chọn phù hợp.
FAQs về MIME Type
Tại sao chúng ta có các định dạng dữ liệu khác nhau?
Chủ yếu bởi vì có khả năng khác nhau và chúng phục vụ các mục đích khác nhau
Ví dụ, định dạng PDF rất khác với định dạng hình ảnh – cũng khác với định dạng âm thanh – cả hai đều phục vụ các mục đích rất khác nhau và do đó được viết khác nhau trước khi được gửi qua internet.
Làm thế nào để sửa lỗi MIME Type?
Để khắc phục sự cố này, bạn hãy làm theo những bước sau:
Bước 1: Đi đến thư mục theo đường dẫn pub/static
Bước 2: Kiểm tra xem tệp . htaccess có sẵn sàng hay không (nếu thư mục đó ẩn Nhấn ctrl + H để xem)
Bước 3: Nếu không có, bạn có thể download tệp . htaccess trong đường dẫn tệp pub / static / và di chuyển nó vào máy chủ của bạn.
Bước 4: Cuối cùng, xóa trình duyệt và bộ nhớ cache Magento của bạn, sau đó kiểm tra lại.
MIME Type và Content Type khác nhau như thế nào?
Content Type là một superset của MIME Type. Sự khác biệt duy nhất là mã hóa bộ ký tự tùy chọn. Nếu Content Type không bao gồm mã hóa bộ ký tự tùy chọn thì nó giống hệt với MIME Type. Mặt khác, MIME Type là dữ liệu trước chuỗi mã hóa bộ ký tự.
Ví dụ: text/html; charset=UTF-8
text/html Là MIME Type
; Là chỉ báo tham số bổ sung
charset=UTF-8 Là tham số mã hóa của bộ ký tự
Ví dụ: application/msword
application/msword Là MIME Type
Nó không thể có bộ mã hóa ký tự vì nó mô tả một octet-stream Không được tạo thành trực tiếp.
Làm thế nào để phát MIME loại video?
Video MP4 yêu cầu MIME Type thích hợp trên máy chủ của bạn, làm theo các bước này để phát MIME loại video:
Bước 1: Nhấp chuột phải vào trang web trong IIS và chọn Thuộc tính.
Bước 2: Chọn Tab Tiêu đề HTTP.
Bước 3: Chọn loại tệp
Bước 4: Trong phần danh sách MIME , chọn loại MIME mới
Bước 5: Nhập “MP4” để làm tiện ích mở rộng và “video / mpeg” làm content type.
Bước 6: Bấm OK.
Mọi thắc mắc và góp ý liên quan, xin vui lòng liên hệ ngay TinoHost để được tư vấn chi tiết hoặc Fanpage để cập nhật những thông tin mới nhất nhé!
Với bề dày kinh nghiệm hơn 5 năm cung cấp hosting, dịch vụ cho thuê máy chủ, các dịch vụ liên quan đến tên miền và bảo mật website, hãy để TinoHost đồng hành cùng bạn trên con đường khẳng định thương hiệu trên bản đồ công nghệ toàn cầu!