كيفية استخدام مدقّق Content-Type
- الصق قيمة Content-Type، مع متن للمقارنة إن أردت، ثم انقر «تحقق».
- أو أدخل عنوان URL عاماً لجلب ترويساته ومتنه الفعليين.
- اقرأ الحقول المحلَّلة وجدول المعاملات والمشكلات؛ ويخبرك فحص المتن ما إذا كانت الحمولة تطابق ما أُعلن.
مزايا مدقّق Content-Type
- يحلّل النوع والنوع الفرعي واللاحقة البنيوية (+json و+xml) وجميع المعاملات بما فيها القيم المقتبسة
- يتحقق من النوع الأعلى مقابل سجل IANA ومن النوع الكامل مقابل جدول يضم 200 نوع وسائط
- فحوصات سلامة charset (غيابه في الأنواع النصية، وزيادته في JSON، وكتابته خطأً utf8) والتحقق من صحة boundary في multipart
- استكشاف المتن (sniffing): JSON يُحلَّل بنجاح، وترميز HTML/XML، ومتون النماذج، وJavaScript، وCSS، والبيانات الثنائية — مقارنةً بالعائلة المعلنة
- جلب اختياري لعنوان URL عام عبر المرحّل (relay) للتحقق من ترويسة الاستجابة الحقيقية ومتنها
- نصائح بشأن الأنواع المهجورة (application/javascript وtext/xml وtext/json)
مثال على مدقّق Content-Type
استجابة JSON مُعلنة على أنها HTML
الإدخال:
Content-Type: text/html; charset=utf-8
Body: {"ok":true}النتيجة:
Media type: text/html · Charset: utf-8 · Body family: html
Body check: detected json — No, the body does not look like the declared type.
Warning: Declared text/html but the body looks like json.الأسئلة الشائعة حول مدقّق Content-Type
هل يحتاج application/json إلى charset=utf-8؟
لا. يعرّف RFC 8259 صيغة JSON على أنها UTF-8، ولا تأثير لمعامل charset؛ وتشير الأداة إليه بوصفه زائداً. أما الأنواع النصية (text/html وtext/plain وtext/css) فينبغي أن تعلن charset دائماً.
ما الذي يفعله فحص المتن؟
يستكشف المتن كما يفعل المتصفح: هل يُحلَّل بوصفه JSON، أم يبدأ بإعلان doctype أو وسم HTML، أم بإعلان XML، أم يبدو متن نموذج، أم يحتوي على بايتات ثنائية؟ ثم تُقارن العائلة المكتشفة بنوع الوسائط المعلن.
ماذا يحدث عندما أدخل عنوان URL؟
يجلب المرحّل عنوان URL العام (متتبّعاً عمليات إعادة التوجيه)، ويقرأ ترويسة Content-Type والمتن، ويتحقق من كليهما. ولا يُخزَّن أي شيء. ولا يمكن جلب العناوين المحلية أو الخاصة.
لماذا تنبّه الأداة إلى text/javascript مقابل application/javascript؟
جعل RFC 9239 (2022) النوع text/javascript النوع الوحيد الموصى به وعدّ application/javascript مهجوراً. تقبل المتصفحات كليهما، لكن ينبغي للخدمات الجديدة استخدام text/javascript.
ملاحظات تقنية
يتبع تحليل المعاملات القسم 8.3 من RFC 9110 (أسماء غير حساسة لحالة الأحرف، وقيم اختيارية بين علامتي اقتباس، والحفاظ على الفواصل المنقوطة داخل الاقتباس). ويقرأ كشف المتن أول 2 كيلوبايت ويطبّق استدلالات متحفظة مشابهة لمعيار MIME Sniffing؛ ولا ينفّذ المحتوى أبداً.