شرح 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)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !