شرح صفوف ومحتوى الفقرة
العميل في بروتوكول HTTP (HTTP Client) هو أي برنامج يبدأ الحوار مع السيرفر؛ فهو الذي يرسل رسالة الطلب أولاً وينتظر استلام رسالة الاستجابة. والقاعدة الذهبية هنا أن العميل هو المبادر دائماً، فلا يرسل السيرفر صفحات أو ملفات لجهازك من تلقاء نفسه دون أن يطلبها العميل أولاً.
أشهر مثال يومي للعميل هو متصفح الويب (Web Browser) مثل Chrome وFirefox وSafari وEdge؛ فعندما تضغط على رابط، يقوم المتصفح بطلب ملف الصفحة الأساسي (HTML) ثم يطلب تلقائياً ملفات التنسيق والصور ليرسم الصفحة أمامك. لكن العميل لا يقتصر على المتصفحات فقط، بل يشمل ثلاثة أنواع أخرى نستخدمها يومياً:
- تطبيقات الهواتف الذكية: مثل تطبيق البنك أو تطبيقات التوصيل والتواصل الاجتماعي التي تطلب البيانات من السيرفر خلف الكواليس وتعرضها داخل واجهة التطبيق.
- أدوات المطورين وفحص الأمان: مثل أداة سطر الأوامر
curlوبرامج اختبار الواجهات التي يستخدمها المبرمج ومختص الأمن السيبراني لإرسال طلبات مخصصة وفحص رد السيرفر. - برامج التحديث والتنزيل الآلية: مثل أداة تحديث نظام التشغيل التي تتصل بالسيرفر لتحميل التحديثات.
قارن في المثال العملي الآتي كيف يطلب كلٌّ من متصفح الويب وأداة curl نفس الصفحة من السيرفر باختلاف اسم البرنامج العميل (User-Agent):
GET /tutorials/http HTTP/1.1Host: www.closetag.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/130.0GET /tutorials/http HTTP/1.1Host: www.closetag.comUser-Agent: curl/8.7.1