<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HTTP on مدونة عمار الخوالده</title><link>https://ammar.dev/categories/http/</link><description>Recent content in HTTP on مدونة عمار الخوالده</description><generator>Hugo</generator><language>ar</language><lastBuildDate>Sun, 14 Sep 2025 21:02:45 +0300</lastBuildDate><atom:link href="https://ammar.dev/categories/http/index.xml" rel="self" type="application/rss+xml"/><item><title>Server Sent Events (SSE)</title><link>https://ammar.dev/snippets/http-server-sent-event/</link><pubDate>Sat, 16 Sep 2023 00:00:00 +0000</pubDate><guid>https://ammar.dev/snippets/http-server-sent-event/</guid><description>&lt;p&gt;بروتوكول HTTP يستخدم Request-Response model، مما يعني أن السيرفر لا يستطيع إرسال بيانات إلى الـ Client ما لم يقم الـ Client أولا بإرسال Request.&lt;/p&gt;
&lt;p&gt;



 
 
 
 


&lt;figure&gt;
 &lt;img src="https://ammar.dev/snippets/http-server-sent-event/sse-server-sent-event_hu_98c57ef8c7c7eade.webp"loading="lazy"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;لكن يمكن استخدام SSE (Server Sent Events) لإرسال البيانات من السيرفر للـ Client، لا يزال الـ Client بحاجة إلى إرسال Request أولا،
لكن يتم استخدام Keep-Alive لإبقاء الاتصال مفتوحا، والسيرفر سيرسل البيانات دون انهاء الـ Response، في الصورة السابقة تجد أنه قد تم إرسال أكثر من رسالة من السيرفر إلى الـ Client في أوقات مختلفة، كلها تعتبر Response واحدة لكن تم تقسيما وإرسالها بالتدريج،&lt;/p&gt;</description></item><item><title>الحفاظ على الاتصال بين HTTP 1.0 و HTTP 1.1</title><link>https://ammar.dev/snippets/http-keep-alive/</link><pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate><guid>https://ammar.dev/snippets/http-keep-alive/</guid><description>&lt;p&gt;اقوم اليوم ببعض التجارب المتعلقة ببروتوكول HTTP لفهمه بشكل أعمق،&lt;/p&gt;
&lt;p&gt;حاولت إرسال الـ Request باستخدام netcat عبر TCP مباشرة دون استخدام HTTP Client.&lt;/p&gt;
&lt;p&gt;الصورة المرفقة توضح الفرق بين نسخة HTTP 1.0 و HTTP 1.1.&lt;/p&gt;
&lt;p&gt;



 
 
 
 


&lt;figure&gt;
 &lt;img src="https://ammar.dev/snippets/http-keep-alive/1_http1.0_vs_http1.1_raw_request_hu_c5b872467b360549.webp" alt="HTTP 1.0 vs HTTP 1.1 raw request"loading="lazy"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;في النسخة 1.0 ستضطر لإرسال كل HTTP Request باتصال TCP جديد،
بينما في النسخة 1.1، يمكن إرسال أكثر من HTTP Request على نفس الاتصال مما يزيد من سرعة العملية (ستختصر الوقت والموارد اللازمة لفتح اتصال جديد).&lt;/p&gt;</description></item></channel></rss>