Loại phương tiện MIME phù hợp cho các tệp PDF


1284

Khi làm việc với các tệp PDF, tôi đã chạy trên các loại MIME application/pdfapplication/x-pdfcác loại khác.

Có sự khác biệt giữa hai loại này, và nếu vậy nó là gì? Là một trong những ưa thích hơn khác?

Tôi đang làm việc trên một ứng dụng web phải cung cấp số lượng lớn tệp PDF và tôi muốn thực hiện đúng cách nếu có.

Câu trả lời:


1705

Loại MIME tiêu chuẩn là application/pdf. Nhiệm vụ được xác định trong RFC 3778, Loại phương tiện ứng dụng / pdf , được tham chiếu từ sổ đăng ký Loại phương tiện MIME .

Các loại MIME được kiểm soát bởi một cơ quan tiêu chuẩn, Cơ quan cấp số được gán Internet (IANA). Đây là cùng một tổ chức quản lý các máy chủ tên gốc và không gian địa chỉ IP.

Việc sử dụng x-pdftrước chuẩn hóa loại MIME cho PDF. Các loại MIME trong x-không gian tên được coi là thử nghiệm, giống như các loại trong vnd.không gian tên được coi là dành riêng cho nhà cung cấp. x-pdfcó thể được sử dụng để tương thích với phần mềm cũ.


6
Cập nhật 2020: Tại thời điểm này, application/pdfloại nên được sử dụng - trừ khi bạn cần tương thích với phần mềm thực sự cũ không sử dụng x-pdf...
janniks

156

Đây là một quy ước được định nghĩa trong RFC 2045 - Phần mở rộng thư Internet đa năng (MIME) Phần thứ nhất: Định dạng của các cơ quan thư Internet .

  1. Các giá trị [subtype] riêng (bắt đầu bằng "X-") có thể được xác định song phương giữa hai tác nhân hợp tác mà không cần đăng ký bên ngoài hoặc tiêu chuẩn hóa. Những giá trị như vậy không thể được đăng ký hoặc tiêu chuẩn hóa.

  2. Các giá trị tiêu chuẩn mới phải được đăng ký với IANA như được mô tả trong RFC 2048 .

Một hạn chế tương tự áp dụng cho loại cấp cao nhất. Từ cùng một nguồn,

Nếu một loại cấp cao nhất khác được sử dụng cho bất kỳ lý do nào, thì nó phải được đặt tên bắt đầu bằng "X-" để chỉ trạng thái không chuẩn của nó và để tránh xung đột tiềm ẩn với tên chính thức trong tương lai.

(Lưu ý rằng theo RFC 2045, "[m] việc sử dụng loại phương tiện và loại phụ là LUÔN không phân biệt chữ hoa chữ thường", do đó, không có sự khác biệt giữa cách giải thích 'X-' và 'x-'.)

Vì vậy, thật công bằng khi đoán rằng "application / x-foo" đã được sử dụng trước khi "ứng dụng / foo" được định nghĩa của IANA. Và nó vẫn có thể được sử dụng bởi những người không biết về việc gán mã thông báo IANA.

Như Chris Hanson đã nói các loại MIME được kiểm soát bởi IANA. Đây là chi tiết trong RFC 2048 - Phần mở rộng thư Internet đa năng (MIME) Phần thứ tư: Thủ tục đăng ký . Theo RFC 3778 , được IANA trích dẫn là định nghĩa cho "application / pdf",

Loại phương tiện ứng dụng / pdf được đăng ký lần đầu tiên vào năm 1993 bởi Paul Lindner để sử dụng bởi giao thức gopher; đăng ký sau đó được cập nhật vào năm 1994 bởi Steve Zilles.

Loại "ứng dụng / pdf" đã xuất hiện trong hơn một thập kỷ. Vì vậy, dường như bất cứ nơi nào "application / x-pdf" được sử dụng trong các ứng dụng mới, quyết định có thể không được cân nhắc.


28

Từ loại phương tiện Wikipedia,

Một loại phương tiện bao gồm một loại, một kiểu con và các tham số tùy chọn. Ví dụ, một tệp HTML có thể được chỉ định là văn bản / html; bộ ký tự = UTF-8.

Loại phương tiện bao gồm tên loại cấp cao nhất và tên loại phụ, được cấu trúc thêm thành cái gọi là "cây".

top-level type name / subtype name [ ; parameters ]

top-level type name / [ tree. ] subtype name [ +suffix ] [ ; parameters ]

Tất cả các loại phương tiện nên được đăng ký bằng thủ tục đăng ký IANA. Hiện nay cây sau đây được tạo ra: standard, vendor, personalhay vanity, không đăng kýx.

Tiêu chuẩn:

Các loại phương tiện trong cây tiêu chuẩn không sử dụng bất kỳ khía cạnh cây (tiền tố) nào.

type / media type name [+suffix]

Ví dụ: "application / xhtml + xml", "image / png"

Nhà cung cấp:

Cây nhà cung cấp được sử dụng cho các loại phương tiện liên quan đến các sản phẩm có sẵn công khai. Nó sử dụng vnd.khía cạnh.

type / vnd. media type name [+suffix] - used in the case of well-known producer

type / vnd. producer's name followed by media type name [+suffix] - producer's name must be approved by IANA

type / vnd. producer's name followed by product's name [+suffix] - producer's name must be approved by IANA

Cây cá nhân hoặc Vanity:

Cây cá nhân hoặc Vanity bao gồm các loại phương tiện được tạo bằng thực nghiệm hoặc là một phần của sản phẩm không được phân phối thương mại. Nó sử dụng prs.khía cạnh.

type / prs. media type name [+suffix]

Chưa đăng ký x. cây:

"X." cây có thể được sử dụng cho các loại phương tiện dành riêng cho sử dụng trong môi trường riêng tư, địa phương và chỉ với sự thỏa thuận tích cực của các bên trao đổi chúng. Các loại trong cây này không thể được đăng ký.

Theo phiên bản trước của RFC 6838 - 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 thử nghiệm chưa đăng ký và như vậy sử dụng cả "x-" và "x." các hình thức được khuyến khích . Các phiên bản trước của RFC - RFC 1590 và RFC 1521 đã tuyên bố rằng việc sử dụng ký hiệu "x-" cho tên loại phụ có thể được sử dụng cho các loại phụ chưa đăng ký và riêng tư, nhưng khuyến nghị này đã bị lỗi thời vào tháng 11 năm 1996.

type / x. media type name [+suffix]

Vì vậy, rõ ràng loại MIME loại tiêu chuẩn application/pdflà loại thích hợp để sử dụng trong khi bạn nên tránh sử dụng x-loại phương tiện lỗi thời và chưa đăng ký như đã nêu trong RFC 2048RFC 6838 .


3
@TNguyen: Không có hại. :) Tôi nghĩ thật tốt khi có các phiên bản khác của câu trả lời, vì vậy nó sẽ cung cấp một số thông tin bổ sung cho một người tìm kiếm chủ đề. Ngoài ra, ông trích dẫn một số thông tin bổ sung, trong khi so sánh với các câu trả lời khác.
nắng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.