Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تشريح الطلب

الدرس 20 من 47 في دورة التعامل مع الشبكات عبر الطرفية على Coddy.

تحت غطاء curl، يكون طلب HTTP عبارة عن نص عادي يُرسَل عبر مقبس. ويبدأ بسطر واحد يحدد ما تريده:

GET /index.html HTTP/1.1

ثلاثة أجزاء: الطريقة (نوع العملية)، والمسار (العنصر المعني)، والإصدار. بعد ذلك تأتي الترويسات، واحدة في كل سطر، ثم سطر فارغ، ثم محتوى اختياري.

السطر الفارغ ليس للزينة. فمن خلاله يعرف الخادم أن الترويسات انتهت وأن المحتوى، إن وُجد، يبدأ. والطلب الذي لا يحتوي عليه يظل معلّقًا، لأن الخادم لا يزال ينتظر وصول بقية البيانات.

يمكنك إرسال طلب يدويًا. يفتح nc اتصالًا خامًا، وكل ما تمرّره إليه يذهب مباشرة عبر الشبكة:

printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110

إن \r\n هو نهاية السطر التي يتطلبها HTTP، والمقطع المكرر هو ذلك السطر الفارغ.

challenge icon

التحدي

صعب

تجاوز curl بالكامل وتحدّث HTTP بنفسك.

  1. أنشئ index.html يحتوي على raw
  2. قدّم المجلد على المنفذ 9110
  3. أرسل طلبًا خامًا من نوع GET /index.html HTTP/1.0 عبر nc واطبع السطر الأول فقط مما يعود

ذلك السطر الأول هو سطر حالة الخادم. الناتج المتوقع:

HTTP/1.0 200 OK

تذكّر السطر الفارغ: printf 'GET /index.html HTTP/1.0\r\n\r\n'.

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعامل مع الشبكات عبر الطرفية

تدرّب بنفسك: Playground لـ Terminal