<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Maysa</title>
    <description>The latest articles on DEV Community by Maysa (@maysa-dev).</description>
    <link>https://dev.to/maysa-dev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4061983%2F6df40e8e-f189-4de0-aa02-3bbc7b2245c6.png</url>
      <title>DEV Community: Maysa</title>
      <link>https://dev.to/maysa-dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maysa-dev"/>
    <language>en</language>
    <item>
      <title>ما هو HTTP؟ ولماذا نحتاجه في الـ Backend؟</title>
      <dc:creator>Maysa</dc:creator>
      <pubDate>Tue, 04 Aug 2026 08:21:56 +0000</pubDate>
      <link>https://dev.to/maysa-dev/m-hw-http-wlmdh-nhtjh-fy-l-backend-5ek5</link>
      <guid>https://dev.to/maysa-dev/m-hw-http-wlmdh-nhtjh-fy-l-backend-5ek5</guid>
      <description>&lt;p&gt;عندما بدأت أتعلم Backend كنت أسمع كثيرًا كلمات مثل:&lt;br&gt;
HTTP - Request - Response - GET - POST&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Febupyy90lrmlb620jcw1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Febupyy90lrmlb620jcw1.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;وكنت أستخدمها في الكود، لكن لم أفهم فعلًا:&lt;br&gt;
ما الذي يحدث خلف الكواليس؟&lt;/p&gt;

&lt;p&gt;لذلك حاولت أن أفهم الفكرة من البداية.&lt;/p&gt;

&lt;h2&gt;
  
  
  ما هو HTTP؟
&lt;/h2&gt;

&lt;p&gt;HTTP ليس خادمًا (Server)، بل هو بروتوكول، أي مجموعة من القواعد التي تسمح لطرفين بالتواصل مع بعضهما.&lt;/p&gt;

&lt;p&gt;مثل أي لغة نتفق عليها حتى نفهم بعضنا، الأجهزة أيضًا تحتاج إلى قواعد مشتركة للتواصل.&lt;/p&gt;

&lt;p&gt;في الويب لدينا غالبًا طرفان:&lt;/p&gt;

&lt;p&gt;👤 Client (مثل المتصفح أو تطبيق React)&lt;/p&gt;

&lt;p&gt;و&lt;/p&gt;

&lt;p&gt;🖥️ Server (مثل Backend مبني بـ Node.js و Express)&lt;/p&gt;

&lt;p&gt;والتواصل بينهما يتم باستخدام HTTP.&lt;/p&gt;

&lt;p&gt;كيف يعمل؟&lt;/p&gt;

&lt;p&gt;عندما أفتح صفحة المنتجات في متجر إلكتروني مثلًا:&lt;/p&gt;

&lt;p&gt;GET /products&lt;/p&gt;

&lt;p&gt;المتصفح يرسل طلبًا (Request) إلى السيرفر.&lt;/p&gt;

&lt;p&gt;السيرفر يستقبل الطلب، يعالج البيانات، ثم يرسل ردًا (Response).&lt;/p&gt;

&lt;p&gt;مثلاً:&lt;br&gt;
&lt;code&gt;[ { "name": "Phone", "price": 500 } ]&lt;/code&gt;&lt;br&gt;
وهكذا تظهر المنتجات في الواجهة.&lt;br&gt;
يوجد ايضا قواعد ثابته لتفاهم بين طلب المستخدم و اليسرفر هم : &lt;br&gt;
ما معنى GET و POST و PUT و DELETE؟&lt;/p&gt;

&lt;p&gt;هذه تسمى HTTP Methods، وهي تحدد نوع العملية التي نريد القيام بها.&lt;/p&gt;

&lt;p&gt;🔹 GET&lt;br&gt;
لجلب البيانات:&lt;/p&gt;

&lt;p&gt;GET /products&lt;/p&gt;

&lt;p&gt;أريد رؤية المنتجات.&lt;/p&gt;

&lt;p&gt;🔹 POST&lt;br&gt;
لإنشاء بيانات جديدة:&lt;/p&gt;

&lt;p&gt;POST /products&lt;/p&gt;

&lt;p&gt;أريد إضافة منتج جديد.&lt;/p&gt;

&lt;p&gt;🔹 PUT&lt;br&gt;
لتعديل بيانات موجودة.&lt;/p&gt;

&lt;p&gt;🔹 DELETE&lt;br&gt;
لحذف بيانات.&lt;/p&gt;

&lt;h3&gt;
  
  
  أين يوجد HTTP؟
&lt;/h3&gt;

&lt;p&gt;HTTP ليس برنامجًا مثبتًا على الحاسوب، بل هو قواعد متفق عليها بين البرامج.&lt;/p&gt;

&lt;p&gt;مثل قواعد المرور: ليست موجودة داخل السيارة، لكنها تحدد كيف تسير السيارات معًا.&lt;/p&gt;

&lt;p&gt;نفس الشيء:&lt;br&gt;
المتصفح والسيرفر يطبقان قواعد HTTP لكي يفهما بعضهما.&lt;br&gt;
 مثال في باك انك :&lt;br&gt;
علاقته بـ Node.js و Express&lt;/p&gt;

&lt;p&gt;Node.js سمحت لنا بتشغيل JavaScript خارج المتصفح وبناء Backend.&lt;/p&gt;

&lt;p&gt;أما Express فهو يسهل علينا التعامل مع طلبات HTTP وإنشاء Routes بسهولة.&lt;/p&gt;

&lt;p&gt;مثال:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;app.get("/products", (req, res) =&amp;gt; { res.send("Products"); }&lt;/code&gt;&lt;br&gt;
هنا نقول لـ Express:&lt;br&gt;
عندما يصل طلب HTTP من نوع GET إلى /products أرسل هذا الرد.&lt;/p&gt;

&lt;h2&gt;
  
  
  في النهاية:
&lt;/h2&gt;

&lt;p&gt;HTTP = القواعد التي تنظم التواصل&lt;br&gt;
Request = الطلب من العميل للسيرفر&lt;br&gt;
Response = الرد من السيرفر للعميل&lt;br&gt;
Node.js = تشغيل JavaScript خارج المتصفح&lt;br&gt;
Express = تسهيل بناء السيرفر والتعامل مع HTTP&lt;/p&gt;

&lt;p&gt;فهم هذه الأساسيات يجعل كتابة الكود لها معنى بدل أن تكون مجرد حفظ.&lt;/p&gt;

</description>
      <category>http</category>
      <category>webdev</category>
      <category>node</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
