كيف يعمل بروتوكول HTTP (الجزء الثاني) "خطوات ارسال الطلب".



بروتوكول http
الصورة redlettersph.com

في الجزء السابق تحدثنا عن ماهية بروتوكول HTTP وعن الخطوات التي تحدث في الخلفية عند طلب صفحة من موقع الكتروني, والآن سنتحدث عن تلك الخطوات بشيء من التفصيل.

1. الخطوة الأولى: استعلام DNS "مخدم أسماء النطاقات".

العنوان "https://www.questionerd.tk/2019/06/http-protocol-explaind.html" يسمى
URL (Uniform Resource Location) أي موقع المصدر الموحد ويتكون من ثلاثة أجزاء:
  • محدد لنوع البروتوكول المستخدم وفى هذه الحالة هو بروتوكول HTTP.
  • المسار إلى الملف المطلوب احضاره من السيرفر (/2019/06/http-protocol-explaind.html/).

لقد استخدمت "www.questionerd.tk" كعنوان للموقع لكن هذا اسم سهل الحفظ والتذكر مقارنة بالعنوان الحقيقي للموقع وهو "172.217.171.243" وهذا يسمى عنوان بروتوكول الانترنت IP address وكل شيء متصل بالإنترنت له مثل هذا العنوان.

ولكن من يمكنه تذكر عنوان كهذا لكل موقع يزوره, وكذلك فإن الحواسيب لا يمكنها فهم إلا عنوان IP وللتوفيق بين هذين الأمرين تم اختراع DNS وهو كدليل الهاتف ولكن للإنترنت. والذي يمكنك من معرفة عنوان IP المقابل لكل مواقع الأنترنت.

فعنما تطلب "www.questionerd.tk" من متصفحك يقوم بالذهاب الى خادم DNS ويحضر لك عنوان IP الخاص بهذا الموقع ثم بعد ذلك يستطيع الذهاب إليه بسهولة.

بالمناسبة يمكنك استخدام اداة تسمى ping (موجودة بشكل افتراضي في الويندوز وكذلك اللينكس) لمعرفة عنوان IP لأى موقع كما أنه أداة مفيدة لفحص اتصالك به (ما إذا كان يمكنك الاتصال به أم لا), ويمكن أيضا أن تعطيك فكرة عن سرعة الاتصال.

ping أداة
ping google



كما ترى في المثال أعلاه فإنه يخبرك بعنوان IP لجوجل وكذلك أنه أخذ في المتوسط حوالي 1 مللي ثانية لإرسال حزمة مكونة من 32 بايت من البيانات في كل مرة من الأربع مرات, ويحصل كذلك على الرد بنفس الحجم وكذلك يخبرك أنه لم يحدث أي فقد في البيانات.


ping أداة
ping failed


وفي هذه الصورة يخبرك أنه فشل في الوصول إلى الواجهة المطلوبة وأن متوسط الوقت لإرسال الحزم هو أيضا 1 مللي ثانية.


2. الخطوة الثانية: الاتصال بالخادم الخاص بالموقع.

حينما يحصل متصفحي على عنوان IP المطلوب يتصل بهذا العنوان عن طريق بروتوكول التحكم في النقل TCP وهو من أهم وأقدم البروتوكولات التي تأسس عليها الانترنت وهو يقوم بفتح الاتصال مع الخادم ويتأكد من وصول البيانات الى الطرفين بشكل صحيح وبدون فقد.

ولاحظ استخدامhttps بدلا من http, وذلك يعني أنني أود استخدام اتصال آمن ومشفر بيني وبين الخادم, ويتم ذلك باستخدام بروتوكول (SSL\TLS) لتأمين الاتصال وهذا البروتوكول يمكن المتصفح من تشفير البيانات المرسلة إلى السيرفر وفك تشفير المستقبلة منه.

ولفعل هذا يقوم المتصفح والسيرفر بتبادل مفاتيح التشفير وفك التشفير فيما بينهما في بداية الاتصال.

وبهذا تنتهى الخطوة الثانية من خطوات الاتصال وينتهى معها هذه المقالة. انتظر المقالة القادمة لمعرفة المزيد عن كيفية ارسال طلب الى السيرفر وكيف يكون شكله بالتفصيل.

إلى اللقاء. 😀


تعليقات

المشاركات الشائعة من هذه المدونة

30 شيء تمنيت لو عرفتها عندما بدأت في البرمجة(الجزء الأول).

ما هي مبادئ SOLID؟ ولما يجب أن يعرفها كل مطور؟

كيف تصبح مطور ويب وتحصل على وظيفة في أسرع وقت؟ (الجزء الثاني)