طريقة الاستخدام
- اكتب امتداداً مثل pdf أو .png في حقل الامتداد أو نوع الوسائط، أو اكتب نوعاً كاملاً مثل image/jpeg.
- اقرأ نوع الوسائط والامتدادات. وإذا انتمى امتداد واحد إلى عدة أنواع، يعرض جدول الأنواع المطابقة جميعها.
- راجع التسجيل لتعرف هل النوع موجود في سجل IANA لأنواع الوسائط، وأي مرجع سجّله.
الامتدادات وأنواع الوسائط
امتداد الملف هو الجزء من اسم الملف الذي يأتي بعد آخر نقطة فيه. أما نوع الوسائط، ويُسمّى أيضاً نوع MIME، فيحدد ما يحويه الملف، ويُكتب على شكل نوع/نوع فرعي، مثل application/pdf أو image/png. تستخدم البريد الإلكتروني والخوادم والمتصفحات نوع الوسائط في ترويسة Content-Type، وتستخدم البرامج الامتداد لتختار التطبيق الذي يفتح الملف.
يحدد RFC 6838 في القسم 4.2 قواعد تسمية النوع والنوع الفرعي. والامتداد مجرد عُرف في التسمية، فيمكن أن يحمل الملف أي امتداد.
الأنواع المسجّلة وغير المسجّلة
سجل IANA هو القائمة الرسمية لأنواع الوسائط. ويقسّم RFC 6838 الأسماء إلى أربع شجرات: شجرة المعايير بلا بادئة (القسم 3.1)، وشجرة الجهات المصنّعة ببادئة vnd. (القسم 3.2)، والشجرة الشخصية ببادئة prs. (القسم 3.3)، والشجرة غير المسجّلة ببادئة x. (القسم 3.4). وكثير من الأنواع المستخدمة، وخاصة أنواع الجهات المصنّعة، غير موجود في السجل أصلاً، وتقول الصفحة ذلك.
من أين تأتي الامتدادات
لا يسرد سجل IANA الامتدادات، لذلك تأتي من ملف mime.types في خادم Apache httpd، وهو قائمة قديمة الاستخدام لأنواع شائعة وامتداداتها، وترويسته تضعه في الملك العام. والملف لا يغطي كل الأنواع: فالنوع text/markdown، مثلاً، لا امتداد له فيه. ويمكن أن ينتمي امتداد واحد إلى نوعين، مثل sub الذي يسرده الملف لكل من image/vnd.dvb.subtitle وtext/vnd.dvb.subtitle، فتعرض الصفحة الصفين، ويحدد البرنامج الذي يفتح الملف أيهما ينطبق.
مثال محلول: pdf
عند كتابة pdf تجد نوعاً واحداً هو application/pdf. يسرد ملف Apache الامتداد pdf لهذا النوع، ويوجد النوع في سجل IANA، وسجّله RFC 8118.
يعرض الجدول أدناه ما تعرضه الصفحة لـ pdf، والنتيجة نفسها تأتي إذا كتبت .PDF أو application/pdf.
| النتيجة | لـ pdf |
|---|---|
| نوع الوسائط | application/pdf |
| الامتدادات | |
| التسجيل | مسجّل في سجل IANA: RFC 8118 |
الأسئلة الشائعة
هل نوع MIME هو نفسه نوع الوسائط؟
نعم. يعني الاسمان تسمية نوع/نوع فرعي للمحتوى، مثل image/png. يسمّيه RFC 6838 نوع الوسائط، والاسم الأقدم نوع MIME ما زال شائعاً في كثير من البرامج والوثائق.
لماذا يعطي jpg النوع image/jpeg وليس image/jpg؟
image/jpeg هو النوع. يسرد ملف Apache ثلاثة امتدادات له هي jpeg وjpg وjpe. ولا يوجد نوع image/jpg في سجل IANA ولا في ملف Apache، لذلك لا تعرضه الصفحة.
لماذا لا يعرض نوع امتداداً؟
يسرد ملف Apache الامتدادات الشائعة فقط. قد يكون النوع مسجلاً في سجل IANA دون أن يملك امتداداً في ذلك الملف، مثل text/markdown، وعندها تقول الصفحة إن الامتداد غير مسرود.
هل يمكن أن ينتمي امتداد واحد إلى نوعي وسائط؟
نعم. يسرد ملف Apache الامتداد sub لكل من image/vnd.dvb.subtitle وtext/vnd.dvb.subtitle، فتعرض الصفحة النوعين. ويحدد البرنامج الذي يفتح الملف النوع الذي يستخدمه.
هل يمكن معرفة نوع الملف من امتداده وحده؟
تقريباً فقط. فالامتداد عُرف في التسمية، ويمكن تغيير امتداد أي ملف. وللتحقق الأمني انظر إلى محتوى الملف، لا إلى اسمه وحده.
هل يُرسل بحثي إلى أي جهة؟
لا. يعمل البحث في متصفحك على القائمة المحفوظة مع الصفحة، ولا يُرسل ما تكتبه إلى خادمنا ولا يُحفظ فيه.
المصادر
- IANA Media Types registry (باللغة الإنجليزية)
- RFC 6838: Media Type Specifications and Registration Procedures (باللغة الإنجليزية)
- Apache httpd docs/conf/mime.types, extension mapping in the public domain (باللغة الإنجليزية)
آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.