انتقل إلى محتوى الدرس
الدرس 63
دورة تكنولوجيا الويب

أنواع المحتوى والوسائط في HTTPHTTP Content Type and MIME Types

تعرّف بعمق هندسي على أنواع الوسائط (MIME Types) وحقل الرأس Content-Type في HTTP: بنية النوع الرئيسي والفرعي، وترميز UTF-8، والفرق بين Accept وContent-Type، ومقارنة صيغ النماذج، والحماية من تخمين النوع عبر nosniff.
أقسام الدرس
11
الأمثلة
8
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
2
محتوى الدرس
في هذا الدرس 11تصفّح المواضيع

عندما يرسل خادم سلسلة من البايتات الخام عبر الشبكة، لا يستطيع المتصفح أو تطبيق العميل معرفة ما إذا كانت هذه البايتات تمثل صفحة أم ملف تنسيق أم بيانات أم صورة إلا إذا صرّحت الرسالة بنوع محتواها بشكل قاطع. وهنا يأتي دور أنواع الوسائط () التي توفر معياراً عالمياً موحداً يُرسل داخل حقل الرأس لإخبار الطرف المستقبل بكيفية تفسير البيانات ومعالجتها بأمان.

قبل الغوص في التفاصيل الهندسية، استعرض جدول المصطلحات التقنية الأساسية لهذا الدرس:

المصطلح بالعربية المصطلح بالإنجليزية النطق التقني المعنى الهندسي المبسط
نوع الوسائط مايم تايب / ميديا تايب معرف قياسي من جزأين يحدد طبيعة وتنسيق البيانات المنقولة في رسالة HTTP مثل text/html أو application/json.
حقل نوع المحتوى كونتنت تايب هيدر حقل في رأس الرسالة يعلن عن نوع الوسائط الفعلي لجسم الرسالة المرسلة في الطلب أو الاستجابة.
ترميز المحارف تشارسيت باراميتر معامل إضافي مثل charset=utf-8 يحدد جدول تحويل البايتات الثنائية إلى حروف نصية مقروءة.
فاصل الأجزاء المتعددة مالتي بارت باوندري سلسلة نصية فريدة تفصل بين الحقول والملفات المختلفة داخل جسم طلب multipart/form-data.
تخمين نوع المحتوى مايم سنيفينج محاولة المتصفح فحص أوائل البايتات في الملف لتخمين نوعه عند غياب حقل Content-Type أو الشك في صحته.
منع تخمين النوع نو سنيف دايركتيف قيمة توضع في حقل X-Content-Type-Options لإجبار المتصفح على الالتزام الصارم بنوع المحتوى المعلن.

يرمز الاختصار إلى امتدادات البريد الإلكتروني متعددة الأغراض (). وقد صُمم هذا المعيار في بداية التسعينيات لتمكين رسائل البريد الإلكتروني من إرسال النصوص غير الإنجليزية والمرفقات الثنائية كالصور والصوت، ثم تبناه بروتوكول ليكون الآلية القياسية لتعريف هوية كل ملف يمر عبر الويب:

  • توجيه المحلل الصحيح في المتصفح (): عندما يستقبل المتصفح حقل الرأس فإنه يمرر البايتات إلى محلل لبناء شجرة الصفحة. أما إذا وصلت البايتات نفسها مع القيمة ، فإن المتصفح يعرض الوسوم كنص خام عادي دون تنفيذها.
  • السجل العالمي الموحد (): تُسمى هذه الأنواع رسمياً في المواصفات القياسية الحديثة () باسم أنواع الوسائط ()، وتديرها هيئة أرقام الإنترنت المخصصة ().

يتكون كل نوع وسائط () من بنية قياسية دقيقة غير حساسة لحالة الأحرف وفق المواصفة :

  • 1. النوع الرئيسي (): يحدد الفئة العامة للبيانات؛ وتشمل الفئات المفردة كلاً من النصوص () والصور () والصوتيات () والفيديو () والخطوط () والتطبيقات ()، بينما تمثل الفئة المركبة () وعاءً يجمع عدة أجزاء داخل رسالة واحدة.
  • 2. النوع الفرعي (): يأتي بعد شرطة مائلة للأمام () ليحدد التنسيق الدقيق للبيانات داخل تلك الفئة (مثل أو أو ). كما تُستخدم اللواحق المهيكلة مثل أو (كما في و) لبيان البنية الأساسية للملف.
  • 3. المعاملات الاختيارية (): تُضاف بعد فاصلة منقوطة () لتمرير خصائص إضافية مثل ترميز الحروف () أو حد الفصل ().

تأمل المخطط التوضيحي الآتي الذي يفصّل بنية نوع الوسائط وعائلاته القياسية المعتمدة:

مخطط يوضح بنية نوع الوسائط (النوع الرئيسي والنوع الفرعي والمعاملات) والفئات القياسية المعتمدة في HTTP
Shell
Content-Type: text/html; charset=utf-8
Content-Type: application/json
Content-Type: application/problem+json; charset=utf-8
Content-Type: image/svg+xml
Content-Type: multipart/form-data; boundary=----CloseTagFormBoundary7MA4YWxk

تُنقل جميع النصوص عبر الشبكة على هيئة أرقام ثنائية (بايتات). وحتى يتمكن المتصفح من عرض النصوص متعددة اللغات—وعلى رأسها اللغة العربية والرموز—بشكل سليم، يجب أن يتفق الخادم والمتصفح على جدول ترميز المحارف ():

  • أهمية ترميز للنصوص العربية: يمثل معيار كل حرف عربي باستخدام بايتين اثنين. فإذا أرسل الخادم صفحة عربية بترميز دون التصريح بـ ، وافترض المتصفح ترميزاً قديماً أحادي البايت مثل ، فستظهر الحروف العربية مشوهة وغير مقروءة ( مثل ).
  • أولوية حقل الرأس على وسم الصفحة: يتمتع معامل المرسل في حقل الرأس بأولوية أعلى دائماً من وسم المكتوب داخل ملف .
Shell
HTTP/1.1 200 OK
Server: nginx/1.26.0
Content-Type: text/html; charset=utf-8
Content-Length: 142

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head><meta charset="utf-8"><title>CloseTag</title></head>
<body><h1>HTTP Media Types</h1></body>
</html>

في أنظمة التشغيل المحلية على حاسوبك، يعتمد النظام على امتداد اسم الملف (مثل أو أو ) لمعرفة البرنامج المناسب لفتحه. أما في بروتوكول ، فإن المرجع الحاكم في المتصفح هو حقل الرأس وليس امتداد الرابط:

  • الروابط الحديثة الخالية من الامتدادات (): لا تنتهي روابط الويب الحديثة مثل أو نقاط نهاية الواجهات البرمجية مثل بأي امتداد ملف، ومع ذلك يعرف المتصفح بدقة هل يعرض صفحة ويب أم يقرأ كائن بالاعتماد الكلي على حقل الرأس .
  • توليد الملفات والصور ديناميكياً: حتى لو كان الرابط ينتهي بمسار مثل ، فبمجرد أن يرسل الخادم حقل الرأس سيتعامل معه المتصفح فوراً كملف رسمي.
Shell
GET /api/v1/avatars/user-940 HTTP/1.1
Host: api.closetag.com
Accept: image/webp,image/png,*/*;q=0.8

HTTP/1.1 200 OK
Content-Type: image/webp
Content-Length: 4820
Cache-Control: public, max-age=86400

يخلط كثير من المبتدئين بين حقل الرأس وحقل الرأس لأن كليهما يُكتب بداخله نوع وسائط ()، لكن وظيفتهما الهندسية مختلفة تماماً:

  • حقل (في رأس الطلب فقط — للتفاوض على المحتوى): يرسله العميل ليخبر الخادم: «هذه هي الصيغ التي أفهمها وأفضّل أن ترسل لي الرد بها»، ويمكن أن يضم عدة أنواع مرتبة حسب معامل الأولوية ().
  • حقل (حقل تمثيل المحتوى — في الطلب أو الاستجابة): يرسله أي طرف يرفق جسماً فعلياً () في رسالته الحالية (سواء كان العميل عند إرسال بيانات أو الخادم عند إرجاع الاستجابة) ليعلن: «هذا هو النوع الفعلي الوحيد للبايتات الموجودة داخل جسم هذه الرسالة الآن».

جرّب المختبر التفاعلي الآتي لمقارنة دور و في سيناريوهات الويب الحقيقية:

تضم الفئة الرئيسية جميع المستندات النصية والملفات البرمجية المقروءة للبشر، ويُنصح دائماً بإرفاق المعامل معها:

  • النوع : نص خام غير منسق؛ يعرضه المتصفح حرفياً كما هو دون تفسير أي وسوم أو تشغيل أي سكربتات.
  • النوع : مستندات القياسية التي يبني منها المتصفح شجرة عناصر الصفحة ().
  • النوع : أوراق الأنماط المتتالية ()؛ وفي الوضع القياسي الحديث () يرفض المتصفح تطبيق ملف التنسيق الخارجي إذا لم يُرسل بالنوع .
  • النوع : المعيار الرسمي المعتمد في سجل (وفق المواصفة ) لملفات الجافاسكريبت ووحدات ، وقد حل رسمياً محل الصيغة القديمة .
  • النوعان و: الجداول النصية المفصولة بفواصل وملفات البيانات المهيكلة النصية.
Shell
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
Cache-Control: public, max-age=31536000, immutable

:root {
  --brand-primary: #7750b2;
}

تشمل فئة التطبيقات () البيانات المهيكلة التي تعالجها البرامج، والمستندات المحمولة، والملفات المضغوطة، والتدفقات الثنائية:

  • النوع : العمود الفقري لواجهات البرمجة الحديثة ()، وتتفرع منه لواحق قياسية مثل لتفاصيل أخطاء الواجهات القياسية ()، و لبيانات محركات البحث المنظمة.
  • النوع : مستندات التي تعرضها المتصفحات الحديثة داخل عارض مدمج معزول.
  • النوع و: وحدات المترجمة (التي يشترط المتصفح إرسالها بنوع حصراً لتشغيل الترجمة التدفقية السريعة)، وملفات الأرشيف المضغوطة.
  • النوع : النوع الافتراضي لأي ملف ثنائي عام أو غير معروف؛ ولا يحاول المتصفح عرضه داخل الصفحة بل يتعامل معه كملف جاهز للتنزيل.
Shell
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="closetag-backup-2026.tar.gz"
Content-Length: 10485760

عندما يرسل نموذج في صفحة الويب بياناته عبر طلب ، فإن خاصية تحدد نوع الوسائط الذي يصيغ به المتصفح جسم الطلب:

  • 1. النوع (الوضع الافتراضي للنماذج النصية): يجمع كل حقول النموذج في سطر نصي واحد على شكل أزواج مفصولة بعلامة مع ترميز المسافات والمحارف الخاصة بنسبة مئوية (). وهو مثالي لنماذج الدخول النصية البسيطة، لكنه غير صالح لرفع الملفات الثنائية لأن حجم الملف سيتضخم ثلاثة أضعاف.
  • 2. النوع (رفع الملفات والبيانات المختلطة): يُستخدم وجوباً عند وجود حقل رفع ملفات (). يولّد المتصفح سلسلة فاصلة فريدة () داخل حقل الرأس ، ويقسم جسم الطلب إلى مقاطع مستقلة يحمل كل مقطع منها حقول رأس خاصة به ( و)، مما يسمح بنقل الملفات الثنائية الخام بكفاءة تامة.

تأمل المخطط التوضيحي الآتي الذي يقارن بين صيغتي إرسال النماذج ويوضح آلية الحماية من تخمين النوع:

مخطط يقارن بين صيغة النماذج المشفرة بالروابط وصيغة الأجزاء المتعددة لرفع الملفات مع حماية nosniff ضد تخمين النوع
Shell
POST /profile/avatar HTTP/1.1
Host: www.closetag.com
Content-Type: multipart/form-data; boundary=----Boundary940

------Boundary940
Content-Disposition: form-data; name="username"

ali_dev
------Boundary940
Content-Disposition: form-data; name="photo"; filename="avatar.png"
Content-Type: image/png
------Boundary940--

تعتمد الوسائط المرئية والصوتية وخطوط الويب على فئات قياسية مخصصة تتيح للمتصفح تشغيل مسرعات فك الترميز العتادية () بكفاءة:

  • عائلة الصور (): تضم الصيغ النقطية مثل و و، والصيغ الحديثة عالية الضغط مثل و، والرسوميات المتجهة .
  • عائلتا الصوت والفيديو ( و): تضم لملفات ، و، و، و، وتعمل غالباً مع طلبات النطاق الجزئي () لدعم تقديم وتأخير البث.
  • عائلة الخطوط (): أُفردت لها فئة مستقلة في المواصفة ، وأهمها (المعيار القياسي المضغوط لخطوط الويب الحديثة) و.
Shell
HTTP/1.1 200 OK
Content-Type: font/woff2
Access-Control-Allow-Origin: https://www.closetag.com
Cache-Control: public, max-age=31536000, immutable
Content-Length: 38420

يؤدي إرسال قيمة خاطئة في حقل الرأس سواء من جهة الخادم أو العميل إلى أعطال فورية في عمل التطبيقات:

  • 1. ظهور كود كنص خام على الشاشة: إذا أرسل الخادم صفحة ويب مع حقل الرأس ، سيعرض المتصفح الوسوم البرمجية كنص عادي بدلاً من رسم عناصر الصفحة.
  • 2. تجاهل ملفات التنسيق وحظر السكربتات: يرفض المتصفح في الوضع القياسي تطبيق ملفات إذا لم تُرسل بنوع ، كما يحظر تشغيل ملفات المرسلة بأنواع نصية أو ثنائية خاطئة عند تفعيل حماية .
  • 3. فشل قراءة بيانات وظهور خطأ : عند إرسال نص في جسم طلب مع نسيان ضبط ، لن يقوم الخادم بتحليل الحقول أو سيرفض الطلب برمز الحالة .
  • 4. تنزيل الصفحة بدلاً من فتحها: إرسال مورد ويب بنوع عن طريق الخطأ يجبر المتصفح على فتح نافذة حفظ الملف بدلاً من عرضه.

في بدايات الويب، كانت كثير من الخوادم تُضبط بشكل خاطئ فترسل حقل الرأس مع جميع الملفات. وللتغلب على ذلك، ابتكرت المتصفحات آلية تخمين نوع الملف () عبر فحص أول 512 بايتاً من الملف للبحث عن البصمة الثنائية () أو وسوم وتخمين نوعه الحقيقي.

غير أن هذا التخمين فتح ثغرة أمنية خطيرة تُعرف باسم هجوم التباس النوع ()؛ إذ يمكن للمهاجم رفع ملف نصي أو صورة تحتوي بداخلها على كود ، فإذا قام المتصفح بتخمين المحتوى وتجاهل حقل الرأس فسيُنفّذ السكربت الخبيث داخل حساب الضحية!

ولإغلاق هذه الثغرة نهائياً، يجب على كل خادم ويب إرسال حقل الرأس الأمني الصارم في استجاباته:

جرّب المحاكي الأمني التفاعلي الآتي لاختبار الفرق بين غياب وتفعيل :

Shell
curl -I https://www.closetag.com/tutorials/web-technology/http-overview

HTTP/2 200
content-type: text/html; charset=UTF-8
x-content-type-options: nosniff
cache-control: no-cache, private
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس مفهوم أنواع الوسائط () وحقل الرأس ، وبنية النوع الرئيسي والفرعي والمعاملات، وأهمية ترميز ، وأولوية على امتداد الرابط، والفرق بين و، وعائلات النصوص والتطبيقات والوسائط، والفرق بين صيغتي النماذج و، وحماية المتصفح من تخمين النوع عبر . الخطوة التالية: انتقل الآن إلى الدرس التالي الكوكيز والجلسات في HTTP () لتكتشف كيف تحفظ تطبيقات الويب حالة المستخدم وهويته فوق بروتوكول عديم الحالة!

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات12

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 12 مفهومةأول بطاقة، أول خطوة
01 MIME Type (Media Type) نوع الوسائط (MIME / Media Type)
معرف قياسي مكون من جزأين (النوع الرئيسي والفرعي) مسجل لدى هيئة IANA لتحديد تنسيق البيانات المنقولة في جسم رسالة HTTP.
للمراجعة
02 Content-Type Header حقل نوع المحتوى (Content-Type)
حقل في رأس الرسالة يحدد نوع الوسائط الفعلي وترميز الحروف للبيانات المرفقة في جسم الطلب أو الاستجابة.
للمراجعة
03 Charset Parameter (UTF-8) معامل ترميز المحارف (charset=utf-8)
معامل يضاف إلى حقل Content-Type لتحديد جدول الترميز (مثل UTF-8) المستخدم لتحويل البايتات الثنائية إلى نصوص مقروءة.
للمراجعة
04 Accept Header حقل قبول الأنواع (Accept)
حقل يرسله العميل في رأس الطلب لإخبار الخادم بأنواع الوسائط التي يفضل استلامها في رسالة الاستجابة.
للمراجعة
05 application/json نوع بيانات JSON (application/json)
نوع الوسائط القياسي المعتمد لتبادل البيانات المهيكلة بصيغة JSON في واجهات البرمجة الحديثة.
للمراجعة
06 application/octet-stream التدفق الثنائي العام (application/octet-stream)
نوع الوسائط الافتراضي للبيانات الثنائية العامة أو غير المعروفة، ويدفع المتصفح عادةً لتنزيل الملف بدلاً من عرضه.
للمراجعة
07 application/x-www-form-urlencoded ترميز النماذج القياسي (urlencoded)
الصيغة الافتراضية لإرسال نماذج HTML النصية، حيث تُرتب الحقول على شكل أزواج مفتاح وقيمة مفصولة بعلامة &.
للمراجعة
08 multipart/form-data بيانات النماذج متعددة الأجزاء (multipart/form-data)
نوع وسائط مركب يقسم جسم الطلب بواسطة حدود فاصلة (boundary) لتمكين رفع الملفات الثنائية مع الحقول النصية بكفاءة.
للمراجعة
09 Multipart Boundary حد الفصل (Boundary Parameter)
سلسلة نصية فريدة تُعلن داخل حقل Content-Type لتحديد بداية ونهاية كل جزء مستقل داخل جسم الرسالة متعددة الأجزاء.
للمراجعة
10 MIME Sniffing تخمين نوع المحتوى (MIME Sniffing)
سلوك يقوم فيه المتصفح بفحص البايتات الأولى من الملف لتخمين نوعه الحقيقي بدلاً من الاكتفاء بحقل Content-Type المعلن.
للمراجعة
11 X-Content-Type-Options: nosniff توجيه منع التخمين (nosniff)
حقل رأس أمني يأمر المتصفح بتعطيل تخمين النوع والالتزام الصارم بنوع المحتوى المعلن في حقل Content-Type.
للمراجعة
12 415 Unsupported Media Type حالة نوع وسائط غير مدعوم (415)
رمز حالة خطأ يرجعه الخادم عندما يرفض معالجة الطلب لأن صيغة جسم الرسالة المعلنة في Content-Type غير مدعومة.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات5

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 5 مفهومةأول بطاقة، أول خطوة
01 MIME MIME
Multipurpose Internet Mail Extensions
امتدادات البريد الإلكتروني متعددة الأغراض التي اعتمدها بروتوكول HTTP لتعريف أنواع الملفات والبيانات عبر الشبكة.
للمراجعة
02 IANA IANA
Internet Assigned Numbers Authority
هيئة أرقام الإنترنت المخصصة المسؤولة عالمياً عن إدارة السجل الرسمي لأنواع الوسائط ورموز حالات HTTP.
للمراجعة
03 UTF-8 UTF-8
8-Bit Unicode Transformation Format
نظام الترميز القياسي العالمي القادر على تمثيل جميع حروف اللغات البشرية ومنها العربية والرموز بكفاءة عالية.
للمراجعة
04 SVG SVG
Scalable Vector Graphics
الرسوميات المتجهة القابلة للتحجيم المبنية على لغة XML وتُرسل عبر الويب بنوع الوسائط image/svg+xml.
للمراجعة
05 WOFF2 WOFF2
Web Open Font Format 2.0
الإصدار الثاني من تنسيق خطوط الويب المفتوحة المضغوطة، ويُرسل بنوع الوسائط القياسي font/woff2.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/3مهام منجزة
  1. شغّل الأمر curl -I https://www.closetag.com في الطرفية وتحقق من وجود حقل الرأس Content-Type: text/html; charset=UTF-8 وحقل الحماية X-Content-Type-Options: nosniff.

  2. افتح أدوات المطورين في المتصفح (F12 ثم تبويب Network)، وأعد تحميل الصفحة، وقارن قيمة حقل Content-Type لكل من الصفحة الرئيسية وملف CSS وملف JS والصورة والخط.

  3. استخدم المختبر التفاعلي أو نفّذ أمر curl -v -F على خادمك المحلي لملاحظة كيف يولّد العميل تلقائياً معامل boundary ويفصل بين الحقول داخل جسم الطلب.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

12أسئلة 1أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي12 أسئلة تنتظرك
01

ماذا يحدث عندما يرسل خادم الويب ملف HTML مع حقل الرأس Content-Type: text/plain; charset=utf-8 (مع تفعيل nosniff)؟

02

في صيغة نوع الوسائط "image/svg+xml; charset=utf-8"، ماذا تمثل الأجزاء "image" و"svg+xml" و"charset=utf-8" على الترتيب؟

03

لماذا تظهر النصوص العربية كرموز مشوهة وغير مقروءة (مثل "مرحبا") عندما يفسر المتصفح صفحة مكتوبة بترميز UTF-8 على أنها بترميز ISO-8859-1؟

04

عندما يطلب المتصفح الرابط "https://api.closetag.com/v1/reports/latest" (الذي لا يحتوي على امتداد ملف)، كيف يعرف أن الاستجابة هي مستند PDF؟

05

ما الفرق الهندسي الدقيق بين حقل الرأس "Accept" وحقل الرأس "Content-Type" في بروتوكول HTTP؟

06

وفق سجل IANA والمواصفة القياسية RFC 9239، ما هو نوع الوسائط القياسي المعتمد لملفات JavaScript؟

07

أيّ نوع وسائط يمثل تدفقاً ثنائياً عاماً أو غير معروف ويدفع المتصفح (خصوصاً مع Content-Disposition: attachment) إلى تنزيل الملف وحفظه؟

08

لماذا يجب استخدام النوع "multipart/form-data" بدلاً من "application/x-www-form-urlencoded" عند رفع ملفات ثنائية عبر نماذج الويب؟

09

ماذا يحدث إذا كتب المطور يدوياً حقل الرأس "Content-Type: multipart/form-data" في طلب رفع ملف عبر fetch() دون تضمين معامل "; boundary=..."؟

10

لماذا تتطلب ملفات الصور المتجهة المرفوعة من المستخدمين (image/svg+xml) تعقيماً وحماية أمنية خاصة مقارنةً بالصور النقطية مثل image/png أو image/webp؟

11

ما رمز حالة HTTP الذي يرجعه خادم الواجهة البرمجية عندما يرسل العميل جسم طلب بحقل "Content-Type: text/plain" إلى نقطة نهاية تشترط حصرياً "application/json"؟

12

أيّ حقل في رأس الاستجابة يمنع المتصفح من تخمين نوع الملف (MIME Sniffing) ويلزمه بالنوع المعلن في Content-Type؟