شرح HTTP Headers [Request/Response] .

أهمية HTTP Headers في البرمجة والحماية جدا مطلوبة المعرفة .

1337r00tمنذ 4 سنوات

1337r00t | BlackFoxs Inc

------------------------------------------------

* السلام عليكم ورحمة الله وبركاته *

------------------

الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً كثيراً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد :-

--------------------

# ماهو HTTP Headers :-

هو وسيلة تخاطب بين Server و Client لفعل او الأستعلام عن شيء ما .

Request HTTP Headers Client -> Server
Response HTTP Headers Server -> Client

يجب ان نعرف ان Request HTTP Headers يتم ارساله من الكلاينت او المتصفح إلى السيرفر او الموقع الفلاني, والعكس صحيح لل Response HTTP Headers .

--------------------

# أنواع HTTP Headers :-

  • الHeaders الأفتراضية (Client -> Server أو Server -> Client) [ Request HTTP Headers أو Response HTTP Headers ] مثل Host Header أو Date Header
  • الHTTP Headers اللتي يتم كتابتها من المبرمج (Client -> Server أو Server -> Client) [ Request HTTP Headers أو Response HTTP Headers ]

----------------------

# Request HTTP Headers :-

Host قيمته تكون هو الموقع اللذي تم الأرسال منه (http://1337r00t.me/test)
User-Agent لأستخراج معلومات المتصفح او الكلاينت اللذي تستخدمه
Accept-Language قيمته تكون اللغة الأفتراضية للمتصفح او الكلاينت الخاص بك
Connection اقرأ تغريدتي
Referer الموقع اللذي أتيت منه (مثلا: دخلت موقعي.. سوف تكون Referer هو موقع عالم البرمجة)
Accept-Encoding يستخدمه الكلاينت لأخبار السيرفر الترميز اللذي يدعمه .
Accept يستخدمه الكلاينت لأخبار السيرفر MIME Type اللذي يدعمه (السيرفر يستجيب في Content-Type Response HTTP Headers لكن ليس شرطا).
Cookie لايخفى عليكم Cookie وهنا مقالة عربية عنه
Content-Length وهو يحصي length او طول الBody .
Content-Type يقوم الكلاينت بأخبار السيرفر عن MIME Type الBody .
Origin أقرأ مقالتي لتتعرف عليه (CORS/SOP)
Authorization هو مخصص للمصادقة مثل الجدار الناري  ويحتوي على معلومات الدخول يتم ارسالها من الكلاينت الى السيرفر (اقرأ تغريدتي)
X-Requested-With: XMLHttpRequest يقوم الكلاينت بأخبار السيرفر ان HTTP Request تم ارساله من XHR

----------------------

# Response HTTP Headers :-

Date يقوم السيرفر بأخبار الكلاينت بوقت أرسال الطلب .
CORS أقرأ مقالتي لتتعرف عليهم (CORS/SOP)
Location يقوم السيرفر بأخبار الكلاينت الوجهه او الموقع اللذي يقوم بالتحويل له
Cache-Control يقوم السيرفر بأخبار الكلاينت سياسات Web Caching او directives إن صح التعبير اللي سوف يتبعها الكلاينت مثلا هل يسمح بعمل Caching للصور او لا .
Content-Security-Policy أقرأ مقالتي هنا للتعرف عليه (CSP)
Server قيمته تكون اسم او معلومات مقدم خدمة السوفتوير مثلا apache
X-XSS-Protection هو مخصص للحماية من ثغرات XSS لكن للأسف لايعمل في Firefox
Content-Disposition يقوم السيرفر بأخبار الكلاينت ان هذه الصفحة او الملف للتحميل وليس للقراءة .
Content-Encoding يقوم السيرفر بأخبار الكلاينت بترميز Response Body
Content-Length وهو يحصي length او طول الBody .
Set-Cookie يرسل السيرفر الكويكز الى الكلاينت ليقوم بتخزينها ليتم استدعاءها في Cookie Request HTTP Header
Age يقوم السيرفر بأخبار الكلاينت الثواني المستغرقه اللتي تم فيها عملية Response cached
Allow يقوم السيرفر بأخبار الكلاينت الHTTP Methods المسموحة .
Content-Langauge يقوم السيرفر بأخبار الكلاينت اللغة اللتي أختيرت في Accept-Language
X-Frame-Options يقوم السيرفر بأخبار الكلاينت ما إذا كان مسموح استخدام <frame>, <iframe>, <embed> or <object> او لا
Strict-Transport-Security يقوم السيرفر بأخبار الكلاينت كم من الوقت المطلوب في عملية Caching للHTTPS Policy وما إذا كان مسموح Subdomains .
WWW-Authenticate يقوم السيرفر بأخبار الكلاينت ان يقوم المستخدم بتسجيل الدخول لكي يكمل (طلب للمصادقة او كما كنا نقول "الجدار الناري" XD)

اللذي باللون البنفسجي هو HTTP Headers تؤثر على الحماية أن كان بجعلها أفضل او بجعلها أسوأ

--------------------

اي أضافة او تعديل يرجى كتابتها في Comments هذا الموضوع

-----------------

والسلام خير ختام

1337r00t | BlackFoxs Inc

كلمات دليلية: http headers
8
إعجاب
10384
مشاهدات
0
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !