شرح HTTP Headers [Request/Response] .
أهمية HTTP Headers في البرمجة والحماية جدا مطلوبة المعرفة .
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
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !