مدونة عمار الخوالده

قُصاصات

مجموعة من الملاحظات والأفكار السريعة

Server Sent Events (SSE)

بروتوكول HTTP يستخدم Request-Response model، مما يعني أن السيرفر لا يستطيع إرسال بيانات إلى الـ Client ما لم يقم الـ Client أولا بإرسال Request.

لكن يمكن استخدام SSE (Server Sent Events) لإرسال البيانات من السيرفر للـ Client، لا يزال الـ Client بحاجة إلى إرسال Request أولا، لكن يتم استخدام Keep-Alive لإبقاء الاتصال مفتوحا، والسيرفر سيرسل البيانات دون انهاء الـ Response، في الصورة السابقة تجد أنه قد تم إرسال أكثر من رسالة من السيرفر إلى الـ Client في أوقات مختلفة، كلها تعتبر Response واحدة لكن تم تقسيما وإرسالها بالتدريج،


Networking HTTP

الحفاظ على الاتصال بين HTTP 1.0 و HTTP 1.1

اقوم اليوم ببعض التجارب المتعلقة ببروتوكول HTTP لفهمه بشكل أعمق،

حاولت إرسال الـ Request باستخدام netcat عبر TCP مباشرة دون استخدام HTTP Client.

الصورة المرفقة توضح الفرق بين نسخة HTTP 1.0 و HTTP 1.1.

HTTP 1.0 vs HTTP 1.1 raw request

في النسخة 1.0 ستضطر لإرسال كل HTTP Request باتصال TCP جديد، بينما في النسخة 1.1، يمكن إرسال أكثر من HTTP Request على نفس الاتصال مما يزيد من سرعة العملية (ستختصر الوقت والموارد اللازمة لفتح اتصال جديد).


Networking HTTP