HTTP Header Fields
حقول الرأس HTTP
حقول الرأس HTTP
التاريخ
الدروس
المستوى
اللغة
المشاهدات
المواضيع
الشروحات chevron_left HTTP Header Fields chevron_left Web Technology
HTTP Header Fields
حقول الرأس HTTP
</>
HTTP Header Fields
حقول الرأس HTTP
تُعتبر حقول الرؤوس header fields في بروتوكول HTTP جزءًا مهمًا يُضيف معلومات إضافية للاتصال بين العميل والخادم، مما يساعد في تنظيم ومعالجة البيانات على الإنترنت، وتتكون رؤوس الطلبات أو الاستجابات بطريقة معينة، حيث يتكون كل رأس من اسم، ويُكتب كل رأس في سطر منفصل متبوعًا بنقطتين ومسافة، على النحو التالي: المفتاح: القيمة "key: value".
هذه الحقول تتضمن تفاصيل مثل نوع البيانات المُرسلة وكيفية التحقق من هوية المستخدم [العميل]، مما يُسهّل على الخادم التعامل بشكل صحيح مع الطلبات، وتلعب الحقول دورًا هامًا في تحسين أداء مواقع الويب حيث تساهم في تخزين المعلومات بشكل مؤقت لزيادة سرعة الاستجابة، إضافةً إلى ذلك، تُعزز أمان الاتصالات من خلال تحديد تقنيات التشفير اللازمة لحماية المعلومات المتبادلة.
</>
Importance and Uses of HTTP Header Fields
أهمية واستخدامات حقول رأس HTTP
تلعب حقول الرؤوس headers fields في بروتوكول HTTP دورًا حيويًا في تحسين الكفاءة، والأمان، وسهولة التفاعل بين العميل والخادم، بعض الأهميات والاستخدامات البارزة لحقول الرؤوس headers fields:
- التحكم في نوع المحتوى: يحدد الحقل مثل "Content-Type" نوع البيانات التي يتم نقلها، مما يساعد العميل في فهم كيفية معالجة أو عرض المحتوى، على سبيل المثال، يمكن تحديد ما إذا كان المحتوى عبارة عن نص عادي، أو صورة، أو ملف JSON.
- إدارة الجلسات والتحقق من الهوية: تُستخدم حقول مثل "Authorization" و"Set-Cookie" للتحقق من هوية المستخدمين وتحديد صلاحيات الوصول، يساهم ذلك في حماية الموارد الحساسة ومنع الوصول غير المصرح به.
- التخزين المؤقت: تسهل الحقول مثل "Cache-Control" و"Expires" عمليات التخزين المؤقت للبيانات، مما يحسِّن من سرعة استجابة المواقع عن طريق تقليل الطلبات المتكررة للخادم لنفس البيانات.
- إدارة الاتصالات: يساعد حقل مثل "Connection" في إدارة كيفية إبقاء الاتصالات مفتوحة، مما يمكن أن يقلل من وقت تحميل الصفحات عن طريق إعادة استخدام الاتصالات القائمة بالفعل.
- الأمان والخصوصية: تُستخدم حقول مثل "Strict-Transport-Security" و"Content-Security-Policy" لتعزيز أمان الاتصال عن طريق فرض نقل البيانات عبر قنوات مشفرة وحماية الموقع من هجمات الويب الشائعة.
- تخصيص الاستجابة: يمكن للحقول مثل "Accept-Language" و"Accept-Encoding" أن تساعد الخادم في تخصيص المحتوى بناءً على تفضيلات المستخدم، مثل اللغة المفضلة أو نوع الضغط المستخدم.
- مراقبة وتحليل الأداء: تمتلك بعض الحقول وظائف تمكن مسؤولي الشبكة والمطورين من تتبع أداء الموقع، مثل "Server-Timing" الذي يوفر نظرة على زمن الاستجابة والأداء العام للطلبات.
</>
Types of HTTP Header Fields
أنواع حقول رأس HTTP
أنواع حقول رأس HTTP Header Fields
- رؤوس الطلب Request Headers: تحتوي رؤوس الطلب على مزيد من المعلومات حول المورد الذي يجب جلبه، أو حول العميل الذي يقوم بطلب المورد.
- رؤوس الاستجابة Response Headers: تحتوي رؤوس الاستجابة على معلومات إضافية حول الاستجابة، مثل موقعها أو معلومات حول الخادم الذي يوفرها.
- رؤوس التمثيل Representation Headers: تحتوي رؤوس التمثيل على معلومات حول جسم المورد، مثل نوع الوسائط المستخدمة لتحديد الشكل الذي يتم إرساله به، أو تقنية الترميز والضغط المستخدمة عليه.
- رؤوس الحمولة Payload headers: تحتوي رؤوس الحمولة على معلومات مستقلة عن التمثيل حول بيانات الحمولة، بما في ذلك طول المحتوى والترميز المستخدم من أجل النقل.
</>
HTTP Request Headers
رؤوس الطلب HTTP
تُمكّن هذه الرؤوس الخادم من تخصيص ردوده بناءً على متطلبات العميل، وتشمل عناصر مثل "المضيف" و"المستخدم-الوكيل" و"القبول"، تساهم هذه المعلومات في تحسين الأداء والأمان من خلال توجيه الخادم لاستخدام بروتوكولات وأدوات مناسبة عند الضرورة، وتسهيل تحليل حركة المرور لتحسين الأداء العام.
أنواع رؤوس طلبات Requests Headers HTTP
- Authorization: يحتوي على بيانات اعتماد المستخدم للتحقق من الهوية من وكيل المستخدم مع الخادم.
- If-Match: يجعل الطلب مشروطًا ويطبق الطريقة فقط إذا كان المورد المخزن يتوافق مع أحد التعرّفات المدعومة.
- If-None-Match: يقوم بجعل الطلب مشروطًا ويطبق الطريقة فقط إذا لم يتوافق المورد المخزن مع أي من التعرّفات المدعومة.
- If-Modified-Since: يقوم بجعل الطلب مشروطًا ويتوقع فقط أن يتم نقل المورد إذا تم تعديله بعد التاريخ المحدد.
- If-Unmodified-Since: يقوم بجعل الطلب مشروطًا ويتوقع فقط أن يتم نقل المورد إذا لم يتم تعديله بعد التاريخ المحدد.
- User-Agent: يحتوي على سلسلة تُمَكِّن قرناء البروتوكول الشبكي من تحديد نوع التطبيق، نظام التشغيل، مورد البرمجيات أو إصدار البرمجيات لوكيل المستخدم المطلوب.
- Referer: يُظهر عنوان صفحة الويب السابقة من أين تم اتباع رابط للصفحة المطلوبة الحالية.
</>
HTTP Authorization
التفويض HTTP
التفويض Authorization هو عملية تمنح المستخدم صلاحية الوصول إلى موارد معينة بعد التحقق من هويته، مما يضمن اقتصار الوصول على البيانات والوظائف المسموح بها فقط، يعزز التفويض الأمان من خلال حماية المعلومات الحساسة. ويعتمد على الأدوار المحددة للمستخدم، ويعد جزءًا أساسيًا من إدارة أمان المعلومات.
- يتكون رأس التفويض Authorization من <auth-scheme> الذي يُحدد نوع التفويض مثل [Basic أو Bearer] بينما يُعبِّر "<authorization-parameters>" عن بيانات الاعتماد مثل [الرمز أو معلومات تسجيل الدخول المشفرة].
Authorization header pattern
نمط رأس التفويض Authorization
Authorization: <auth-scheme> <authorization-parameters>
Example of Authorization header
في Basic Authorization، يُشفِّر العميل بيانات الدخول بتنسيق Base64 في رأس التفويض للتحقق ومنح الوصول.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
ملاحظات
- الجزء المشفر "dXNlcm5hbWU6cGFzc3dvcmQ=" هو نتيجة ترميز "username : password" باستخدام Base64.
- Base64 هو خوارزمية لترميز البيانات الثنائية إلى صيغة نصية باستخدام 64 رمزًا ASCII، مما يسهل نقلها عبر الوسائط التي تدعم النصوص فقط، مثل رؤوس HTTP. تزيد هذه العملية من حجم البيانات بنسبة حوالي 33% وتستخدم الرموز "A-Z"، "a-z"، "0-9"، "+"، و"/". وتُستخدم علامة "=" لإكمال أي نقص في طول السلسلة بحيث يصبح عدد الرموز دائمًا مضاعفاً لأربعة.
</>
HTTP If-Match
إذا تطابق HTTP
If-Match header pattern
استخدام رأس HTTP If-Match للتحقق من تطابق الـ ETag لضمان عدم تعديل المورد.
If-Match: <etag_value> If-Match: <etag_value>, <etag_value>, …
Ensuring Files Are Updated Using an ETag in HTTP
يُظهر استخدام رأس HTTP If-Match للتحقق من تطابق الـ ETag لضمان تحديث المورد بشكل مشروط.
If-Match: "d41d8cd98f00b204e9800998ecf8427e" If-Match: "a1b2c3", "d4e5f6", "123abc" If-Match: *
</>
HTTP If-None-Match
إذا لم يتطابق HTTP
يُعتبر HTTP If-None-Match ميزة في بروتوكول HTTP تهدف إلى زيادة كفاءة تحميل الموارد من خلال تقليل كمية البيانات المنقولة بين الخادم والمتصفح. يعتمد هذا المطلب على مفهوم "إعلام التغيير" أو "Etag"، الذي يُعرف بأنه رمز فريد يُخصص لكل نسخة من المورد المخزن على الخادم.
عندما يطلب المتصفح موردًا، يتولى الخادم التحقق من تطابق Etag المُرسل من المتصفح مع النسخة الموجودة لديه. إذا ظل المورد دون تغيير وتطابق Etag، يُرسل الخادم استجابة بحالة "304 Not Modified"، مما يعني عدم الحاجة إلى تنزيل البيانات مرة أخرى. أما إذا كان هناك تغيير ولم يتطابق Etag، يُرسل الخادم النسخة الجديدة من المورد مع Etag
المحدث. هذه الآلية تُسهم في تحسين سرعة تحميل الصفحات، مما يعزز من تجربة المستخدم عبر توفير الوقت والموارد وتقليل الجهد اللازم لتحميل المحتوى.
توجد حالتا استخدام شائعتان تُعتبران أساسيتين لهذه الميزة.
الحالة الأولى تتعلق بطرق GET و HEAD، حيث تُستخدم لتحديث كيان مخزن مؤقتًا مرتبط بعلامة ETag. تُساهم هذه العملية في تحسين كفاءة استرجاع البيانات من الذاكرة المؤقتة بدلاً من طلبها مجددًا من الخادم.
الحالة الثانية تتعلق بطرق أخرى، وخاصةً طريقة PUT. يُمكن استخدام الشرط If-None-Match مع القيمة [*] لتنفيذ عملية رفع ملف عندما لا يُعرف مسبقًا إن كان الملف موجودًا بالفعل أم لا.
وهذا يضمن عدم وجود محاولة تحميل مزدوجة للملف، مما قد يؤدي إلى فقدان البيانات التي تم رفعها في السابق. تُعتبر هذه المشكلة شكلًا مختلفًا عن مشكلة التحديث المفقود، حيث يتم التأكد من تحميل المحتوى بنجاح دون تكرار.
- رأس If-None-Match يُستخدم في بروتوكول HTTP لمطابقة ETag مع النسخ المخزنة من الموارد لتحسين كفاءة نقل البيانات. عند استخدام "<If-None-Match: <etag_value"، يُتحقق من تطابق القيمة مع النسخة الموجودة، وفي حال التطابق تُرسل استجابة "304 Not Modified" لتجنب إعادة النقل. يتضمن ""If-None-Match: W/"45de32", "23fg45", "6789op" قائمة من ETag، بما فيها القيم الضعيفة مثل [W/"45de32"]، للمقارنة مع أي نسخة مطابقة محتملة. أما " * :If-None-Match"، فيشير إلى أي إصدار موجود من المورد، ويُمكن استخدامه لضمان عدم الكتابة فوق الملفات الموجودة عند رفعها.
If-None-Match Header Patterns
أنماط رأس If-None-Match
If-None-Match: "<etag_value>" If-None-Match: "<etag_value>", "<etag_value>", … If-None-Match: *
Examples of using the If-None-Match header in HTTP requests
مثال لرأس If-None-Match يستخدم ETag فردي أو قائمة متعددة أو "*" لتجنب النقل غير الضروري أو استبدال الموارد.
If-None-Match: "a1b09c36279d4390df6a4d3840175e24bc61f91a" If-None-Match: W/"45de32", "23fg45", "6789op" If-None-Match: *
ملاحظة
ETag يُعرّف كرمز فريد يُخصص لكل نسخة من المورد المخزن على الخادم. يُستخدم [ETag] كوسيلة للتحقق من التغيرات في الموارد وتحديد ما إذا كان المورد الذي يطلبه المتصفح قد تغير منذ آخر مرة تم تحميله، مما يُساعد في تقليل نقل البيانات غير الضروري بين الخادم والمتصفح.
</>
HTTP If-Unmodified-Since
إذا لم يُعدّل منذ HTTP
رأس طلب HTTP If-Unmodified-Since هو أداة حيوية تساعد في تحسين أداء التطبيقات عبر الإنترنت عن طريق جعل طلبات العميل مشروطة بالتحقق من عدم تغيير المورد منذ تاريخ معين. يُستخدم هذا الرأس من قِبل العميل [مثل المتصفح] لضمان تنفيذ الطلب فقط إذا لم يتغير المورد، مما يقلل من نقل البيانات غير الضرورية بين العميل والخادم، ويعزز من كفاءة العملية واستجابتها.
عندما يقوم العميل بإرسال تاريخ آخر تعديل للنسخة المحفوظة محليًا إلى الخادم، يقوم الخادم بمقارنة هذا التاريخ مع تاريخ آخر تعديل للمورد. في حالة عدم حدوث تعديل، يُرسل الخادم البيانات المخزنة مؤقتًا، مما يوفر الوقت والقدرة الحاسوبية، وهي قدرة الخادم على معالجة البيانات وتنفيذ العمليات الحسابية بشكل فعال.
يُعتبر هذا الرأس مفيدًا عند استخدام طرق غير آمنة مثل POST، حيث يساعد في تطبيق التحكم المتفائل في التزامن كما هو الحال في بعض مواقع الوِكيات، حيث تُرفض المراجعات في حال تغيير الوثيقة لضمان تجنب النزاعات. أيضًا، يُستخدم في طلبات النطاق لضمان أن الأجزاء المطلوبة تأتي من مستند غير معدل.
- في هذا التنسيق أدناه، يمكنك استبدال "<day-name>", "<day>", "<month>", "<year>", "<hour>", "<minute>", و"<second>" بالقيم المناسبة التي تمثل التاريخ والوقت المحددين. على سبيل المثال، "<day-name>" هو "Sun"، و "<day>" هو "06"، و "<month>" هو "Nov"، و "<year>" هو "1994"، و "<hour>" هو "08"، و "<minute>" هو "49"، و "<second>" هو "37". يعبر [GMT] عن الوقت بتوقيت جرينتش.
HTTP If-Unmodified-Since header pattern
بهذا النمط يكون رأس If-Unmodified-Since
If-Unmodified-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
Example of If-Unmodified-Since header
المثال يوضح شرطًا يعتمد على التاريخ والوقت لمزامنة الطلب مع محتوى المورد المخزن على الخادم.
If-Unmodified-Since: Sun, 06 Nov 1994 08:49:37 GMT
</>
HTTP User-Agent
وكيل المستخدم HTTP
وكيل المستخدم HTTP User-Agent، هو أحد المكونات الأساسية في عمليات تبادل البيانات عبر الإنترنت. عندما تقوم بالاتصال بأي موقع ويب، يقوم متصفحك بإرسال معلومات حول نفسه إلى الخادم الذي يستضيف هذا الموقع. هذه المعلومات تُعرف بـ[User-Agent]، وهي عبارة عن سلسلة نصية تحتوي على تفاصيل مثل نوع المتصفح، ونظام التشغيل، والأجهزة المستخدمة.
يُعتبر [User-Agent] مفيدًا بشكل كبير لأصحاب المواقع ومطوري الويب حيث يمكنهم استخدامه لفهم أنواع الأجهزة والمتصفحات التي يستخدمها زوارهم، وبالتالي تهيئة المحتوى ليتناسب بشكل أفضل مع هؤلاء المستخدمين. فمثلًا، إذا اتضح أن عددًا كبيرًا من الزوار يستخدمون أجهزة محمولة، فقد يقوم المطورون بتصميم نُسخة محسّنة للموقع لتتناسب مع الشاشات الصغيرة.
بالإضافة إلى ذلك، يساعد [User-Agent] في تحسين الأمان وقياس أداء الموقع. فقد يتم تحديد أنواع معينة من المتصفحات أو الأجهزة لاتخاذ إجراءات أمان إضافية، أو حتى تصحيح أخطاء محددة قد تؤثر على الأداء بشكل عام.
- يتكون User-Agent من [اسم التطبيق أو المتصفح] متبوعًا بـ [النسخة]، بالأضافة الي [معلومات إضافية عن النظام أو الجهاز] عن تفاصيل مثل نوع النظام أو نسخة نظام التشغيل المستخدمة.
HTTP User-Agent header pattern
رأس"User-Agent" في HTTP يحدد اسم وإصدار المتصفح أو التطبيق ومعلومات النظام لتخصيص تجربة المستخدم.
User-Agent: [application or browser name]/[version] ([additional information about the system or device])
Example of User-Agent header
مثال علي رأس User-Agent في HTTP.
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
ملاحظة
في المثال السابق يٌشير"Mozilla/5.0" يدل على التوافق مع معيار موزيلا لدعم مختلف المتصفحات، و"(Windows NT 10.0; Win64; x64)" يوضح أن نظام التشغيل هو ويندوز 10 بإصدار 64 بت، بينما "AppleWebKit/537.36 (KHTML, like Gecko)" يُظهر استخدام محرك التصفح WebKit، و"Chrome/58.0.3029.110" يوضح أن المتصفح هو جوجل كروم، في حين أن "Safari/537.3" يُبرز التوافق مع سفاري باستخدام محرك WebKit.
</>
HTTP Referer
الإحالة HTTP
</>
HTTP response headers
رؤوس الاستجابة HTTP
تتكون رؤوس الاستجابة من عدة أنواع، مثل رأس تاريخ الإنشاء [Date] الذي يوضح تاريخ إنشاء الرسالة، ورأس اتصال [Connection] الذي يعطي تفاصيل حول اتصال الخادم، وغيرها الكثير من الرؤوس التي تحدد خصائص وسلوكيات الاستجابة.
أنواع رؤوس استجابات Response Headers HTTP
- WWW-Authenticate: يحدد طريقة المصادقة التي يجب استخدامها للوصول إلى المورد.
- Proxy-Authenticate: يحدد طريقة المصادقة للوصول إلى مورد خلف خادم وكيل.
- Age: يُظهر الوقت، بالثواني، الذي كان الكائن فيه في ذاكرة التخزين المؤقت للوكيل.
- Cache-Control: توجيهات لآليات التخزين المؤقت في الطلبات والاستجابات.
- Expires: تاريخ/وقت بعده تعتبر الاستجابة قديمة.
- Location: يحدد عنوان URL لإعادة التوجيه.
- Connection: الذي يعطي تفاصيل حول اتصال الخادم
- Server: يحتوي على معلومات حول البرنامج المستخدم من قِبل الخادم الأصل.
- Timing-Allow-Origin: يحدد الأصول المسموح لها برؤية قيم السمات المستردة عبر ميزات توقيت الموارد.
- Content-Security-Policy (CSP): يتحكم في الموارد التي يصرح للمستخدم بتحميلها لصفحة معينة.
- Strict-Transport-Security (HSTS): يفرض الاتصالات باستخدام HTTPS بدلاً من HTTP.
- Set-Cookie: إرسال الكوكيز من الخادم إلى وكيل المستخدم.
- Date: الذي يوضح تاريخ إنشاء الرسالة.
</>
HTTP Content Encoding
ترميز المحتوى HTTP
Content-Encoding header pattern
تقنيات متعددة لضغط البيانات، تُطبق بتسلسل لتحسين حجم النقل وتقليل استهلاك النطاق الترددي.
Content-Encoding: gzip Content-Encoding: compress Content-Encoding: deflate Content-Encoding: br Content-Encoding: zstd // Multiple, in the order in which they were applied Content-Encoding: deflate, gzip
Compress content using gzip in HTTP response
يشير أن محتوى HTTP مضغوط بتقنية gzip لتقليل حجم البيانات المرسلة من الخادم إلى العميل.
Content-Encoding: gzip
</>
HTTP Content Language
لغة محتوى HTTP
Content-Language header pattern
عندما يتم تحديد لغة واحدة فقط.
Content-Language: <language-tag>
Content-Language header pattern
عندما تُحدّد أكثر من لغة.
Content-Language: <language-tag>, <language-tag>, <language-tag>
Select language: English
توضح أن الجمهور المستهدف للصفحة هم الأشخاص الناطقون باللغة الإنجليزية.
Content-Language: en
Target languages: German and English
يشير إلى أن الجمهور المستهدف للصفحة هم الأفراد الذين يتحدثون الألمانية والإنجليزية.
Content-Language: de, en
</>
HTTP Content Location
موقع محتوى HTTP
Content-Location header pattern
يوضح العنوان Content-Location عنوان URL المباشر للوصول إلى البيانات دون الحاجة إلى تفاوض إضافي على المحتوى.
Content-Location: <url>
Create your first blog using example.com API
طريقة إنشاء ونشر مقال جديد باستخدام واجهة برمجة تطبيقات النصوص من example.com.
POST /new/post Host: example.com Content-Type: text/markdown # My First Blog Post! I created this using the API from `example.com`. I hope it was successful.
Create a new blog post via API successfully
يوضح المثال إنشاء منشور مدونة عبر API بنجاح برمز "201 Created" وموقع بتنسيق Markdown.
HTTP/1.1 201 Created Content-Type: text/markdown Content-Location: /my-first-blog-post # My First Blog Post I crafted this using the API provided by `example.com`. I hope it was successful.
Confirm successful payment of $38.00 to ExampleUser
استجابة HTTP ناجحة تؤكد إرسال مبلغ 38.00 دولارًا إلى ExampleUser، مع توفير تفاصيل الإيصال بتنسيق HTML.
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Location: /my-receipts/38 <!doctype html> (Lots of HTML…) <p>You sent $38.00 to ExampleUser.</p> (Lots more HTML…)
</>
HTTP Content Type
نوع محتوى HTTP
نوع المحتوى HTTP content type يحدد نوع البيانات المتبادلة بين المستخدم والخادم. يُعرف من خلال رأس HTTP Content Type ويشمل صيغة البيانات مثل HTML أو JPEG. فهم نوع المحتوى يساعد في معالجة البيانات بشكل صحيح، مما يحسن تجربة المستخدم على الويب. يجب تعيين نوع المحتوى بشكل صحيح لضمان التوافق والأداء السهل عبر الأنظمة المختلفة.
Content-Type header pattern
نوع المحتوى: يُحدد نوع البيانات المتبادلة وكيفية معالجتها في HTTP.
Content-Type: <media-type>
Distinguishing between Data Types in HTTP
رأس Content-Type يُحدد نوع البيانات، ورأس boundary في multipart/form-data يحدد الفواصل.
Content-Type: application/json; charset=utf-8 Content-Type: multipart/form-data; boundary=UniqueBoundaryString
</>
HTTP Payload headers
رؤوس الحمولة HTTP
</>
HTTP Representation Headers
رؤوس التمثيل HTTP
أنواع رؤوس التمثيل Representation Headers HTTP
- Content-Type: يحدد نوع الوسائط للمورد.
- Content-Encoding: يُستخدم لتحديد خوارزمية الضغط.
- Content-Language: يصف اللغة البشرية المخصصة للجمهور.
- Content-Location: يشير إلى موقع بديل للبيانات المعادة.
</>
HTTP Content Length
طول محتوى HTTP
Content Size: Provide data in 219 bytes
Content-Length يُحدد حجم المحتوى بالبايتات.
Content Length: 219
</>
HTTP Content Range
نطاق المحتوى HTTP
Content Range header pattern
يحدد رأس Content Range نطاق البايت الدقيق الذي يتم إرساله في الاستجابة، وهو أمر مفيد لتنزيل أو بث أجزاء من ملف كبير.
Content Range: <unit> <range start> <range end>/<total size> Content Range: <unit> <range start> <range end>/* Content Range: <unit> */<total size>
Specify the portion of data sent from the full file.
يحدد هذا النطاق نقل البيانات من البايت 300 إلى 1200 ضمن ملف حجمه الإجمالي 70,500 بايت.
Content-Range: bytes 300-1200/70500
</>
HTTP Content Disposition
توزيع المحتوى HTTP
Content Disposition header pattern
أساسيات التعامل مع البيانات داخل المحتوى الرئيسي للنص.
Content Disposition : inline Content Disposition : attachment Content Disposition : attachment ; filename = "file_name.html"
Content Disposition header pattern
اساسيات التعامل مع البيانات المعقدة والمتنوعة في النصوص خطوة بخطوة.
Content-Disposition : form-data Content-Disposition : form-data; name="field_value" Content-Disposition : form-data; name="field_value"; filename="file_name.html"
HTTP Response: PDF download successfully
استجابة HTTP توفر مستند PDF للتنزيل بحجم 1024 بايت واسمه document.pdf.
HTTP/1.1 200 OK Content-Type: application/pdf Content-Disposition: attachment; filename="document.pdf" Content-Length: 1024
Upload user data and image using HTTP POST request.
يرسل مثال HTTP POST حقول نصية وملف عبر `multipart/form-data`.
POST /submit.html HTTP/1.1 Host: newsite.com Content-Type: multipart/form-data;boundary="newboundary" --newboundary Content-Disposition: form-data; name="username" newuser123 --newboundary Content-Disposition: form-data; name="profile_picture"; filename="profile.jpg" newcontent --newboundary--
</>
HTTP WWW Authenticate
مصادقة HTTP WWW
WWW-Authenticate header pattern
سطر رأس HTTP يحدد نوع المصادقة والنطاق المطلوب للوصول إلى مورد.
WWW-Authenticate: <type> realm=<realm> realm=<realm>
Use the WWW-Authenticate line to authenticate a Bearer in the "secure-area" range
سطر رأس HTTP يحدد أن المصادقة المطلوبة هي من نوع Bearer للوصول إلى المورد ضمن المجال "secure-area".
WWW-Authenticate: Bearer realm="secure-area"
Implement Digest Authentication for secure access to the Admin Area.
سطر رأس HTTP يحدد استخدام Digest Authentication للوصول إلى "Admin Area" مع إعدادات أمان "qop" و"charset".
WWW-Authenticate: Digest realm="Admin Area", qop="auth", charset="UTF-8"
</>
HTTP Proxy Authenticate
مصادقة وكيل HTTP
Proxy-Authenticate header pattern
نمط كود Proxy-Authenticate
Proxy-Authenticate: <type> realm=<realm>
Example of using Bearer token for proxy authentication
رمز مصادقة Bearer لتفويض الوصول عبر خادم وكيل.
Proxy-Authorization: Bearer zYXwVuT9876AbCdEf1234
</>
HTTP Age
رأس العمر HTTP
age header pattern
يشير "age: <delta-seconds>" إلى الوقت المنقضي، بالثواني، منذ آخر تحديث للمحتوى المخزن مؤقتًا.
age: <delta-seconds>
Measure buffering time to improve responsiveness
المثال يوضح أن المحتوى المخزن مؤقتًا قد مر عليه ساعة واحدة منذ آخر تحديث.
Age: 3600
</>
HTTP Cache Control
التحكم في ذاكرة التخزين المؤقت لـ HTTP
CDNs
Set content caching time to 1 hour in HTTP
يشير المثال أن المحتوى يمكن تخزينه لمدة ساعة واحدة قبل التحقق من صلاحيته مجددًا.
Cache-Control: max-age=3600
1 day cache duration with 200 seconds cache lifetime
يشيرالمثال أن المحتوى يمكن تخزينه مؤقتًا لمدة يوم واحد، وقد مضى 200 ثانية من فترة التخزين بالفعل.
Cache-Control: max-age=86400 Age: 200
Set a server cache duration of 5 days
يشير المثال أن المحتوى يمكن تخزينه مؤقتًا في ذاكرة التخزين المؤقت الوسيطة لمدة تصل إلى أسبوع واحد.
Cache-Control: s-maxage=432000
Cache-Control no-cache header pattern
يتطلب التحقق من صلاحية المحتوى مع الخادم في كل مرة قبل استخدام النسخة المخزنة.
Cache-Control: no-cache
Content validity management with continuous verification after one hour
يُسمح للمتصفح بتخزين المحتوى لمدة ساعة، ثم يجب عليه إعادة التحقق من الصلاحية مع الخادم.
Cache-Control: max-age=3600, must-revalidate
Cache-Control no-store header pattern
يمنع المتصفح من تخزين أي نسخة من محتوى الصفحة لضمان الخصوصية والأمان.
Cache-Control: no-store
Cache-Control header pattern
النمط يشير ان المحتوى المخزن في الذاكرة المخبئة مخصص لجهاز المستخدم فقط وليس للمشاركة العامة مع مستخدمين آخرين.
Cache-Control: private
Cache-Control-public header pattern
يسمح بتخزين المحتوى مؤقتاً بواسطة أي مخبئ، مما يجعله متاحاً للعديد من المستخدمين لتحسين الأداء.
Cache-Control: public
Caching content for a day with maximum efficiency
يتيح تخزين المحتوى مؤقتًا من قِبل أي مستفيد لمدة يوم واحد (86400 ثانية) لتسريع الوصول وتحسين الأداء.
Cache-Control: public, max-age=86400
Safe storage instructions with mandatory support for directions
يتطلب دعمًا إلزاميًا لهذه التوجيهات ويمنع تخزين المحتوى مؤقتًا لأي مستخدم لضمان الأمان والخصوصية الكاملة.
Cache-Control: must-understand, no-store
Persistent content storage for one month to improve performance
يتيح تخزين المحتوى لمدة ثلاثين يومًا دون تغييرات، مما يعزز الأداء وكفاءة التحميل.
Cache-Control: public, max-age=2592000, immutable
Fast loading with asynchronous updating during grace period
يسمح بتخزين المحتوى لمدة ساعة مع استخدامه بشكل مؤقت لمدة 10 دقائق إضافية أثناء التحقق من تحديثات جديدة.
Cache-Control: max-age=3600, stale-while-revalidate=600
Flexible loading with temporary validity and persistence in case of errors
يسمح بتخزين المحتوى لمدة 12 ساعة مع استخدام النسخة القديمة لمدة ساعة إضافية في حالة حدوث خطأ في التحديث.
Cache-Control: max-age=43200, stale-if-error=3600
</>
HTTP Expires
انتهاء صلاحية HTTP
Expires header pattern
نمط رأس Expires.
Expires: <http-date>
Specify the expiration date of cached content
تحديد تاريخ انتهاء صلاحية المحتوى المخزن مؤقتًا، مما يوجه المتصفح لاستخدام النسخة المخزنة حتى الوقت المحدد.
Expires: Fri, 01 Dec 2023 10:00:00 GMT
</>
HTTP Location
موقع HTTP
Location header pattern
نمط رأس Location
Location: <url>
Redirect page to internal address
المثال يشير إلى إعادة توجيه المستخدم إلى الصفحة الرئيسية في الموقع ضمن دليل home.
Location: /home/page.html
</>
HTTP Connection
اتصال HTTP
Connection header pattern
المثال يوضح ان الاتصال في HTTP بين الإبقاء عليه مفتوحًا مع "keep-alive" أو إغلاقه بعد الطلب بـ"close".
Connection: keep-alive Connection: close
HTTP persistence settings
المثال يشير ان إعدادات HTTP التي تبقي الاتصال مفتوحًا لـ200 طلب لتحسين الأداء.
Keep-Alive: 200 Connection: keep-alive
HTTP connection closing settings
المثال يشير إلى إعداد HTTP حيث يُغلق الاتصال بعد تنفيذ الطلب الحالي مباشرةً.
Connection: close
</>
HTTP Server
خادم HTTP
Server: [Product] as a reliable connection point for digital data and services
"<product> هو خادم ويب يقوم باستلام ومعالجة طلبات HTTP لتسليم الصفحات والمحتويات إلى المتصفح بكفاءة."
Server: <product>
Improve website performance and security with Cloudflare
المزود: كلاودفلير يحسّن سرعة الموقع وأمانه من خلال شبكة توزيع المحتوى ويقدم حلول حماية متقدمة ضد التهديدات الإلكترونية.
server: cloudflare
Server Performance Details Using Akamai Resource Optimizer
المثال يشير ان تم تسجيل "MISS" في تخزين المحتوى المخبأ للشبكة ومدة استجابة الحافة كانت 2 مللي ثانية.
server: Akamai Resource Optimizer server-timing: cdn-cache; desc=MISS server-timing: edge; dur=2
</>
HTTP Timing-Allow-Origin
السماح بالتوقيت-الأصل HTTP
Timing-Allow-Origin header pattern
تسمح لجميع المواقع بالوصول إلى معلومات توقيت التحميل لتحليل أداء الموقع.
Timing-Allow-Origin: *
Timing-Allow-Origin header pattern
يسمح للمواقع المحددة فقط بالوصول إلى معلومات توقيت التحميل لتحسين الأداء.
Timing-Allow-Origin: <origin> [, <origin>]*
Allow CloseTag to access your download timing data
المثال يشير ان تم السماح فقط لموقع "https://www.closetag.com" بالوصول إلى معلومات توقيت التحميل لتحليل أداء الموقع.
Timing-Allow-Origin: https://www.closetag.com
</>
HTTP Content-Security-Policy
سياسة أمان محتوى HTTP
Content-Security-Policy header pattern
تحديد سياسة أمان المحتوى قواعد للمصادر التي يُسمح للمتصفح بتحميلها لضمان أمن الموقع ضد المخاطر الإلكترونية.
Content-Security-Policy: <policy-directive>; <policy-directive>
CloseTag Content Security Policy: Identifying Safe Sources and Controlling Communications
تحدد هذه الخاصيه المصادر المسموح تحميلها من الموقع https://www.closetag.com، مع منع الاتصالات الخارجية الأخرى.
Content-Security-Policy: default-src 'self' https://www.closetag.com; connect-src 'none'; Content-Security-Policy: connect-src https://www.closetag.com/; script-src https://www.closetag.com/
Content Security Policy for CloseTag Resources, Images and Scripts
تحميل الموارد من موقع CloseTag والصور والنصوص البرمجية من مواقعها المخصصة.
Content-Security-Policy: default-src 'self' https://www.closetag.com; img-src https://images.example.com; script-src 'self' https://scripts.example.com
Content Security Policy for CloseTag Resources, Images and Scripts
تحميل الموارد من موقع CloseTag والصور والنصوص البرمجية من مواقعها المخصصة.
Content-Security-Policy: default-src 'self' https://www.closetag.com; img-src https://images.example.com; script-src 'self' https://scripts.example.com
Set up a Content Security Policy (CSP) reporting endpoint
هذا المثال يحدد نقطة نهاية للإبلاغ عن انتهاكات سياسة أمان المحتوى (CSP) باستخدام نطاق مخصص.
Reporting-Endpoints: csp-endpoint="https://your-custom-domain.com/csp-reports"
</>
HTTP Strict-Transport-Security
أمان النقل الصارم لـ HTTP
بروتوكول "فرض النقل الآمن عبر HTTP" المعروف بـ [HTTP Strict Transport Security أو HSTS] هو أداة أمان مصممة لحماية اتصالات المستخدم عبر الإنترنت عن طريق إجبار المتصفح على استخدام بروتوكول [HTTPS] فقط. يقوم مالك الموقع بتفعيل هذا البروتوكول من خلال إرسال تعليمات خاصة للمتصفح لضمان أن جميع الاتصالات المستقبلية تتم عبر [HTTPS]، مما يمنع احتمالية التحايل وسرقة البيانات. هذا يُعزز الحماية ضد هجمات مثل هجمات الاكترونية ويضمن أن البيانات تنتقل عبر قنوات آمنة. لتحقيق أقصى استفادة من [HSTS]، يجب التأكد من أن الموقع يعمل بكفاءة تحت بروتوكول [HTTPS] وأن جميع الروابط والمصادر تشير إليه فقط، مما يعزز ثقة المستخدمين في أمان الموقع.
Strict-Transport-Security header pattern
يوضح الإعدادات لـ Strict-Transport-Security، مع تعيين مدة الالتزام بـ HTTPS ويشمل النطاقات الفرعية وخيار التحميل المسبق.
Strict-Transport-Security: max-age=<expire-time> Strict-Transport-Security: max-age=<expire-time>; includeSubDomains Strict-Transport-Security: max-age=<expire-time>; includeSubDomains; preload
Set up strict security policy for transfers including subdomains for 6 months
يوضح المثال أن الموقع يُلزم المتصفح باستخدام HTTPS لمدة 15768000 ثانية [حوالي 6 أشهر] لجميع النطاقات الفرعية أيضًا لتعزيز الأمان.
Strict-Transport-Security: max-age=15768000; includeSubDomains
Enforce secure transfer with support for subdomains and preloading
يوضح المثال أن الموقع يُلزم المتصفح باستخدام HTTPS لمدة 15768000 ثانية [حوالي 6 أشهر] لجميع النطاقات الفرعية أيضًا لتعزيز الأمان.
Strict-Transport-Security: max-age=8640000; includeSubDomains; preload