ประเภทสื่อ MIME ที่เหมาะสมสำหรับไฟล์ PDF


1283

เมื่อทำงานกับ PDF ฉันได้ทำงานกับประเภท MIME application/pdfและapplication/x-pdfอื่น ๆ

มีความแตกต่างระหว่างสองประเภทนี้หรือไม่และถ้าเป็นเช่นนั้นจะเป็นอย่างไร เป็นที่ต้องการมากกว่าหนึ่งอื่น ๆ ?

ฉันกำลังทำงานกับเว็บแอปซึ่งจะต้องส่งไฟล์ PDF จำนวนมากและฉันต้องการทำอย่างถูกต้องหากมี

คำตอบ:


1705

application/pdfมาตรฐานประเภท MIME การมอบหมายที่กำหนดไว้ในRFC 3778, The application / pdf Media Typeอ้างอิงจากรีจิสทรี MIME ประเภทสื่อ

ประเภท MIME ถูกควบคุมโดยหน่วยมาตรฐาน, The Internet Assigned Numbers Authority (IANA) นี่เป็นองค์กรเดียวกันที่จัดการเซิร์ฟเวอร์ชื่อหลักและพื้นที่ที่อยู่ IP

การใช้x-pdfมาตรฐานที่ได้มาก่อนประเภท MIME สำหรับ PDF ชนิด MIME ในx-เนมสเปซถูกพิจารณาว่าเป็นการทดลองเช่นเดียวกับที่อยู่ในvnd.เนมสเปซนั้นถือว่าเป็นแบบเฉพาะผู้ขาย x-pdfอาจใช้เพื่อความเข้ากันได้กับซอฟต์แวร์เก่า


6
ปรับปรุง 2020:ณ จุดนี้application/pdfควรใช้ประเภท - เว้นแต่คุณจะต้องเข้ากันได้กับซอฟต์แวร์เก่าจริง ๆ ไม่ได้ใช้x-pdf...
janniks

156

นี่คือการประชุมที่กำหนดไว้ในRFC 2045 - Multipurpose Internet Mail Extensions (MIME) ส่วนหนึ่ง: รูปแบบของร่างข้อความอินเทอร์เน็ต

  1. ค่าไพรเวต[ชนิดย่อย] (เริ่มต้นด้วย "X-") อาจถูกกำหนดทั้งสองด้านระหว่างตัวแทนความร่วมมือสองแห่งโดยไม่ต้องลงทะเบียนภายนอกหรือสร้างมาตรฐาน ค่าดังกล่าวไม่สามารถลงทะเบียนหรือเป็นมาตรฐานได้

  2. ค่ามาตรฐานใหม่ควรได้รับการลงทะเบียนกับ IANA ที่อธิบายไว้ในRFC 2048

ข้อ จำกัด ที่คล้ายกันนี้ใช้กับประเภทระดับบนสุด จากแหล่งเดียวกัน

หากใช้ประเภทระดับบนสุดอื่นด้วยเหตุผลใดก็ตามจะต้องได้รับชื่อที่ขึ้นต้นด้วย "X-" เพื่อระบุสถานะที่ไม่ได้มาตรฐานและเพื่อหลีกเลี่ยงความขัดแย้งที่อาจเกิดขึ้นกับชื่อทางการในอนาคต

(โปรดทราบว่าตาม RFC 2045, "[m] การทำเครื่องหมายประเภทสื่อและประเภทย่อยเป็นแบบตัวพิมพ์เล็กและตัวพิมพ์เล็กเสมอ" ดังนั้นจึงไม่มีความแตกต่างระหว่างการตีความ 'X-' และ 'x-')

ดังนั้นจึงยุติธรรมที่จะคาดเดาว่ามีการใช้ "application / x-foo" ก่อนที่ IANA จะกำหนด "application / foo" และยังอาจมีการใช้งานโดยผู้ที่ไม่ทราบการมอบหมายโทเค็นของ IANA

ดังที่ Chris Hanson กล่าวว่าประเภท MIME นั้นควบคุมโดย IANA นี้เป็นรายละเอียดในRFC 2048 - Multipurpose Internet Mail Extensions (MIME) ส่วนที่สี่: ขั้นตอนการลงทะเบียน ตามRFC 3778ซึ่งIANA อ้างถึงเป็นคำจำกัดความของ "application / pdf"

แอปพลิเคชั่น / ประเภทสื่อ PDF ได้รับการจดทะเบียนครั้งแรกในปี 1993 โดย Paul Lindner สำหรับการใช้งานโดยโปรโตคอล gopher; การลงทะเบียนได้รับการปรับปรุงในปี 1994 โดย Steve Zilles

ประเภท "แอปพลิเคชัน / pdf" ได้รับมานานกว่าทศวรรษแล้ว สำหรับฉันแล้วดูเหมือนว่าทุกที่ "application / x-pdf" ถูกนำไปใช้ในแอพใหม่การตัดสินใจอาจไม่ได้ถูกไตร่ตรอง


28

จาก Wikipedia Media type

ประเภทสื่อประกอบด้วยประเภทย่อยและพารามิเตอร์ทางเลือก ตัวอย่างเช่นไฟล์ HTML อาจได้รับการกำหนดข้อความ / html; charset = UTF-8

ประเภทสื่อประกอบด้วยชื่อประเภทระดับบนสุดและชื่อประเภทย่อยซึ่งมีโครงสร้างเพิ่มเติมเป็น "ต้นไม้" ที่เรียกว่า

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

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

สื่อทุกประเภทควรลงทะเบียนโดยใช้วิธีการลงทะเบียน IANA ปัจจุบันต้นไม้ต่อไปนี้ถูกสร้าง: standard, vendor, personalหรือvanity, ไม่ได้ลงทะเบียนx.

มาตรฐาน:

ชนิดสื่อบันทึกในแผนผังมาตรฐานไม่ใช้แผนผังใด ๆ (คำนำหน้า)

type / media type name [+suffix]

ตัวอย่าง: "application / xhtml + xml", "image / png"

ผู้ให้บริการ:

แผนผังผู้ขายใช้สำหรับประเภทสื่อที่เกี่ยวข้องกับผลิตภัณฑ์ที่เปิดเผยต่อสาธารณะ มันใช้vnd.แง่มุม

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

ต้นไม้ส่วนบุคคลหรือโต๊ะเครื่องแป้ง:

ทรีส่วนบุคคลหรือ Vanity รวมถึงประเภทสื่อที่สร้างขึ้นจากการทดลองหรือเป็นส่วนหนึ่งของผลิตภัณฑ์ที่ไม่ได้เผยแพร่ในเชิงพาณิชย์ มันใช้ prs.แง่มุม

type / prs. media type name [+suffix]

ไม่ลงทะเบียน x ต้นไม้:

"x." แผนผังอาจใช้สำหรับประเภทสื่อที่มีวัตถุประสงค์เพื่อใช้ในสภาพแวดล้อมส่วนตัวในท้องถิ่นและเฉพาะกับข้อตกลงที่ใช้งานอยู่ของฝ่ายต่างๆ ประเภทในแผนผังนี้ไม่สามารถลงทะเบียนได้

ตามรุ่นก่อนหน้าของ RFC 6838 - RFC ล้าสมัย 2048 (ตีพิมพ์ในเดือนพฤศจิกายน 1996) มันควรจะไม่ค่อยถ้าเคยมีความจำเป็นต้องใช้ประเภทการทดลองที่ไม่ได้ลงทะเบียนและการใช้ทั้ง "x-" และ "x" รูปแบบที่เป็นกำลังใจ รุ่นก่อนหน้าของ RFC - RFC 1590 และ RFC 1521 ระบุว่าการใช้สัญกรณ์ "x-" สำหรับชื่อประเภทย่อยอาจใช้สำหรับประเภทย่อยที่ไม่ได้ลงทะเบียนและส่วนตัว แต่ข้อเสนอแนะนี้เลิกใช้ในเดือนพฤศจิกายน 1996

type / x. media type name [+suffix]

ดังนั้นมันชัดเจนว่าประเภทชนิดไมม์มาตรฐานapplication/pdfเป็นหนึ่งที่เหมาะสมกับการใช้งานในขณะที่คุณควรหลีกเลี่ยงการใช้ล้าสมัยและไม่ได้จดทะเบียนx-ประเภทของสื่อที่ระบุไว้ในRFC 2048และRFC 6838


3
@TNguyen: ไม่เป็นอันตราย :) ฉันคิดว่าเป็นการดีที่มีคำตอบรุ่นอื่นเพื่อที่จะให้ข้อมูลเพิ่มเติมสำหรับผู้ที่ค้นหาหัวข้อ นอกจากนี้เขาอ้างข้อมูลเพิ่มเติมบางส่วนเมื่อเทียบกับคำตอบอื่น ๆ
นิล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.