Kiểu phương tiện

Kiểu phương tiện (trước đây gọi là kiểu MIME) là định danh hai phần cho định dạng file và nội dung định dạng được truyền trên Internet. Internet Assigned Numbers Authority (IANA) là cơ quan chính thức cho việc tiêu chuẩn hóa và xuất bản các phân loại này. Loại vật liệu ban đầu được quy định tại Giấy đề nghị nhận xét 2045 trong tháng 11 năm 1996 như một phần của "MIME (Multipurpose Internet Mail Extensions)" đặc điểm kỹ thuật, để biểu thị loại email nội dung tin nhắn và file đính kèm; do đó được gọi là "kiểu MIME". Các loại phương tiện cũng được sử dụng bởi các giao thức internet khác như HTTP và các định dạng file tài liệu như HTML, cho mục đích tương tự.

== Đặt tên ==
Một loại phương tiện truyền thông bao gồm một kiểu và một "kiểu con", được cấu trúc thêm vào một "cây". Một kiểu phương tiện có thể tùy ý xác định một "hậu tố" và "tham số":

Các kiểu hiện đang đăng ký là: codice_2, codice_3, codice_4, codice_5, codice_6, codice_7, codice_8, codice_9, codice_10 và codice_11.

Ví dụ, một file HTML có thể được chỉ định là codice_12. Trong ví dụ này, codice_10 là kiểu, codice_14 là kiểu con và codice_15 là một tham số tùy chọn chỉ ra mã hóa ký tự.

Một kiểu con thường bao gồm một định dạng phương tiện, nhưng nó có thể hoặc cũng phải chứa nội dung khác, chẳng hạn như tiền tố cây, nhà sản xuất, sản phẩm hoặc hậu tố, theo các quy tắc khác nhau trong cây đăng ký.

Các kiểu, kiểu con và tên tham số không phân biệt chữ hoa chữ thường. Các giá trị tham số thường phân biệt chữ hoa chữ thường, nhưng có thể được hiểu theo kiểu không phân biệt chữ hoa chữ thường tùy theo mục đích sử dụng.

=== Ví dụ phổ biến ===
- codice_16
- codice_17
- codice_18
- codice_19
- codice_20
- codice_21
- codice_22
- codice_23
- codice_24
- codice_25 (.doc)
- codice_26 (.docx)
- codice_27 (.xls)
- codice_28 (.xlsx)
- codice_29 (.ppt)
- codice_30 (.pptx)
- codice_31 (.odt)
- codice_32
- codice_33
- codice_34
- codice_35
- codice_36
- codice_37
- codice_38
- codice_39
- codice_40
- codice_41
- codice_42

=== Cây đăng ký ===
Tất cả các kiểu phương tiện nên được đăng ký bằng thủ tục đăng ký IANA. Để đạt được hiệu quả và tính linh hoạt của quy trình đăng ký kiểu phương tiện, các cấu trúc khác nhau của các kiểu con có thể được đăng ký trong các cây đăng ký được phân biệt bằng cách sử dụng tiền tố cây. Hiện tại các cây sau đây được tạo: tiêu chuẩn (không có tiền tố), nhà cung cấp (tiền tố codice_43), Cá nhân hoặc vanity (tiền tố codice_44), chưa đăng ký (tiền tố codice_45). Những cây đăng ký này được xác định lần đầu tiên vào tháng 11 năm 1996 (RFC 2048 đã lỗi thời - hiện là RFC 6838). Cây đăng ký mới có thể được tạo bởi "IETF Standards Action" để đăng ký và quản lý bên ngoài bởi các tổ chức thường trực nổi tiếng (ví dụ: các hội khoa học).

==== Cây tiêu chuẩn ====
Cây tiêu chuẩn không sử dụng bất kỳ tiền tố cây nào:

Ví dụ: codice_16, codice_40.

Việc đăng ký trong cây tiêu chuẩn phải được liên kết với các thông số kỹ thuật của IETF được IESG phê duyệt trực tiếp hoặc được đăng ký bởi một tổ chức liên quan đến tiêu chuẩn được IANA công nhận.

==== Cây nhà cung cấp ====
Cây nhà cung cấp bao gồm các kiểu phương tiện liên quan đến các sản phẩm có sẵn công khai. Nó sử dụng tiền tố cây codice_43:

Ví dụ: codice_27, codice_31.

Các thuật ngữ "nhà cung cấp" và "nhà sản xuất" được coi là tương đương trong ngữ cảnh. Các tập đoàn công nghiệp cũng như các thực thể phi thương mại có thể đăng ký các kiểu phương tiện trong cây nhà cung cấp. Đăng ký trong cây nhà cung cấp có thể được tạo bởi bất kỳ ai cần trao đổi các file được liên kết với một số sản phẩm phần mềm hoặc bộ sản phẩm. Tuy nhiên, đăng ký thuộc về nhà cung cấp hoặc tổ chức sản xuất phần mềm sử dụng kiểu được đăng ký và nhà cung cấp hoặc tổ chức đó bất cứ lúc nào có thể chọn để xác nhận quyền sở hữu đăng ký do bên thứ ba thực hiện.

==== Cây cá nhân hoặc cây vanity ====
Cây cá nhân hoặc cây vanity bao gồm các kiểu phương tiện được liên kết với các sản phẩm không công khai hoặc các loại phương tiện thử nghiệm. Nó sử dụng tiền tố cây codice_44:

Ví dụ: codice_55, codice_56.

==== Cây chưa đăng ký ====
Cây chưa đăng ký bao gồm các loại phương tiện dành riêng cho sử dụng trong môi trường riêng tư và chỉ với sự thỏa thuận tích cực của các bên trao đổi chúng. Nó sử dụng codice_45 tiền tố cây:

Ví dụ: codice_59, codice_60.

Các kiểu phương tiện trong cây này không thể được đăng ký. Theo RFC 6838 (xuất bản vào tháng 1 năm 2013), bất kỳ việc sử dụng các loại trong cây chưa đăng ký đều được khuyến khích mạnh mẽ. Ngoài ra, các kiểu con có tiền tố codice_61 hoặc codice_62 không còn được coi là thành viên của cây này.

Theo RFC 2048 đã lỗi thời (xuất bản vào tháng 11 năm 1996), hiếm khi, cần phải sử dụng các loại chưa đăng ký, và như vậy sử dụng bất kỳ tiền tố codice_45, codice_61 hoặc codice_62 không được khuyến khích. RFC 1590 đã lỗi thời (xuất bản vào tháng 9 năm 1993) nói rằng việc sử dụng tiền tố codice_61 hoặc codice_62 có thể được sử dụng cho các kiểu con chưa đăng ký.

Các kiểu phương tiện đã được triển khai rộng rãi (với một kiểu con có tiền tố codice_61 hoặc codice_62) mà không được đăng ký, nếu có thể, nên đăng ký lại với một kiểu con có tiền tố thích hợp. Nếu điều này là không thể, thì kiểu phương tiện có thể, sau khi được cả người đánh giá loại phương tiện và IESG chấp thuận, sẽ được đăng ký trong cây tiêu chuẩn với loại phụ không được trộn.

=== Hậu tố ===
Hậu tố là một sự bổ sung cho định nghĩa loại phương tiện để chỉ định thêm cấu trúc cơ bản của kiểu phương tiện đó. Các kiểu phương tiện sử dụng cú pháp có cấu trúc có tên nên sử dụng codice_70 đăng ký IANA thích hợp cho cú pháp có cấu trúc đó khi chúng được đăng ký. Không nên sử dụng hậu tố chưa đăng ký (kể từ tháng 1 năm 2013). Các thủ tục đăng ký hậu tố cú pháp có cấu trúc được định nghĩa trong RFC 6838.

Ví dụ về các hậu tố hiện đang đăng ký là: codice_71, codice_72, codice_73, codice_74, codice_75, codice_76, codice_77, codice_78, (trong RFC 7049) codice_79.

codice_71 Hậu tố codice_71 được xác định từ tháng 1 năm 2001 (RFC 3023). Đăng ký chính thức của hậu tố codice_71 và các hậu tố khác được xác định từ tháng 1 năm 2013 (RFC 6839).

== Mailcap ==
Mailcap (xuất phát từ cụm từ "mail capability") là một loại file meta được sử dụng để định cấu hình cách các ứng dụng nhận biết MIME như ứng dụng thư khách và trình duyệt web hiển thị các file thuộc các loại MIME khác nhau. Định dạng mailcap được xác định bởi RFC1524 "Cơ chế cấu hình tác nhân người dùng cho thông tin định dạng thư đa phương tiện) nhưng không được định nghĩa là một tiêu chuẩn Internet. Nó được hỗ trợ bởi hầu hết các hệ thống Unix.

Các dòng có thể là các nhận xét bắt đầu bằng ký tự # hoặc loại mime theo sau là cách xử lý loại mime đó. Phần đầu tiên được gọi là kiểu nội dung và phần thứ hai được gọi là lệnh xem. Ví dụ: codice_83 cho biết nếu một file được mã hóa bằng mime có loại codice_84, hãy chạy chương trình xmpeg với tên file làm tham số.

== mime.types ==
File được liên kết là file mime.types, liên kết các phần mở rộng tên file với "loại MIME". Nếu loại MIME được đặt đúng, điều này là không cần thiết, nhưng loại MIME có thể được đặt không chính xác hoặc được đặt thành loại chung như codice_85 và codice_86 cho phép một người quay lại phần mở rộng trong những trường hợp này. Tương tự, vì nhiều hệ thống file không lưu trữ thông tin loại MIME, mà thay vào đó dựa vào phần mở rộng tên file, file mime.types thường được các máy chủ web sử dụng để xác định loại MIME.

Khi "xem" một file, hai file này hoạt động cùng nhau như sau: codice_86 liên kết một phần mở rộng với loại MIME, trong khi codice_88 liên kết loại MIME với chương trình.

Trong các hệ thống kiểu UNIX, file mime.types thường nằm ở codice_89 và/hoặc codice_90 và định dạng đơn giản là mỗi dòng là một danh sách được phân tách bằng dấu cách của loại MIME, theo sau là 0 hoặc nhiều phần mở rộng. Ví dụ: loại HTML có thể được liên kết với các phần mở rộng codice_91 và codice_92 theo dòng sau: 

=== Dùng Netscape ===
File mime.types ở Netscape, nơi nó sử dụng một định dạng khác; nó đã sử dụng các cặp giá trị khóa và danh sách các tiện ích mở rộng được phân tách bằng dấu phẩy, cùng với một tiêu đề tiêu chuẩn bao gồm một nhận xét cụ thể xác định file là file mime.types, như sau. 

== Xem thêm ==
- XML và MIME

== Liên kết ngoài ==
- Danh sách các kiểu phương tiện chính thức của IANA
- The Python Standard Library | mailcap Mailcap file handling