كيف تعمل الإنترنت
كيف يعمل خادم صفحات الويب أو كيف تعمل الإنترنت
إذا كنت بالفعل قد تساءلت بينك وبين نفسك أو سالت احد أصدقائك لتعرف ما يحدث فأنت في المكان الصحيح الآن وستعرف الإجابة بإذن الله ففي هذا المقال من كيف تعمل الأشياء سوف نقوم بشرح فكرة عمل خادم صفحات الويب المسئول عن تلبية طلبك وإحضار الصفحة التي تريد سواء كنت في بيتك أو في مكان عملك أو في أي مكان في العالم
الفكرة الأساسية
دعنا نفترض انك تتصفح مواقع الانترنت على كمبيوترك وبينما أنت مستغرق في قراءة هذا المقال اتصل بك احد أصدقاؤك ليخبرك انه قرأ مقال رائعاً ويريد منك ان تقرأه أنت أيضا. فوافقت وأحضرت قلما لتكتب عنوان المقال والذي هو رابط URL وهي اختصار لـ uniform resource locator وكتبت العنوان على النحو التالي وليكن موقع ياهوو الشهير:
http://www.yahoo.com/index.htm
فقمت بطباعة العنوان في المتصفح وضغط على مفتاح الإدخال Enter. فظهرت لك الصفحة التي قرأها صديقك لتستمتع أنت بقراءتها. وببساطة فان الشكل التالي يوضح الخطوات التي تمت لكي تأتي الصفحة من الانترنت إلى جهازك
يقوم المتصفح بالاتصال مع خادم صفحات الويب والذي يعرف باسم web server ويطلب منه الصفحة والذي يقوم بدوره بإرسال الصفحة للمتصفح. هذا باختصار شديد ولكن دعنا نلقى نظرة أعمق على تفاصيل العملية
خلف الكواليس
ان تفاصيل ما يحدث عندما نقوم بطلب الحصول على صفحة ما من الانترنت وبمجرد ان نضع رابط الـ URL وضغط على مفتاح الإدخال Enter فان الخطوات الرئيسية التالية تحدث تباعاً وهي:
(1) يقوم المتصفح بتقسيم عنوان الموقع URL إلى ثلاثة أقسام هي:
* بروتوكول http
* اسم النطاق server name والذي يكون www.yahoo.com
* اسم الملف والذي هو index.thm
(2) يتصل المتصفح بخادم أسماءالنطاقات name server ليحصل منه على عنوان IP الخاص باسم النطاق
(3) يقوم المتصفح في هذه المرحلة بالاتصال بخادم الصفحة على عنوان ( IP ) الذي حصل عليه من خلال المنفذ port 80 (سنقوم بتوضيح ذلك لاحقا)
(4) يقوم بروتوكول HTTP بتوجيه المتصفح لإرسال طلب حصول على الموقع باستخدام اسم الملف
(5) يقوم الخادم بإرسال كود HTML الخاص بالصفحة المطلوبة إلى المتصفح.
(6) يقوم المتصفح بقراءة كود الـ HTML وتحويله إلى صفحة انترنت تظهر على الشاشة.
لاحظ عزيزي القارئ إننا اعتمدنا على عدد من المصطلحات الخاصة بالانترنت مثل IP و HTTP و HTML و port و protocol وسوف نقوم بشرح هذه المصطلحات لمزيد من التوضيح.
هي تجمع ضخم جدا لملايين الكمبيوترات ومن جميع الأنواع والأصناف تربطها شبكة توصل كل جهاز بالأجهزة الباقية
IP Addresses عناوين بروتوكول الانترنت
لكي تصبح الأمور على شبكة الانترنت أكثر انتظاما وسهولة في التعامل مع هذا الكم الكبير جد في الأجهزة وأنواعها وطبيعة عملها فان كل جهاز على الشبكة يخصص له رقم فريد ومميز يسمى عنوان بروتوكول الانترنت IP address حيث الحرفين IP هي اختصار لكلمة Internet protocol، وتتميز هذه العناوين في إنها مكونة من 32bit تمثل في أربع مجموعات تفصلها نقطة كما في الشكل التالي
تسمى الأربع أرقام في عنوان IP بالثمانية لان تأخذ القيم من 0 إلى 255 أي ان هناك ^2 من الاحتمالات لكل مجموعة.
كل جهاز متصل بالانترنت له عنوان IP مميز. أما الخادم فيكون له عنوان IP ثابت ولا يتغير في اغلب الأحيان. ولتوضيح هذا الأمر فانك عندما تقوم بالاتصال بالانترنت عبر جهاز المودم فان جهازك يحصل على رقم IP من مزود الخدمة المشترك معه ويكون هذا الرقم مخصص لك ومميز طالما استمر اتصالك بالانترنت ولكن إذا قمت بقطع الاتصال وإعادته مرة أخرى فان الجهاز يحصل على رقم IP آخر.
لنقوم بفحص عنوان IP لجهازك الآن، كل ما عليك هو ان تقوم بتشغيل الأمر RUN وتكتب CMD وتضغط على زر موافق لتفتح لك شاشة تنفيذ الأوامر (شاشة سوداء) تكتب عند إشارة الإدخال الأمر IPCONFIG.EXE ثم تضغط على المفتاح Enter.
وبالتالي فانه من حيث فكرة عمل الانترنت فانه يمكن ان يتم كتابة رقم IP للموقع المراد تصفحه وسيقوم المتصفح بالوصول للخادم الذي يحتوي على الموقع ويجلبه لك. ولكننا بالتأكيد نفضل التعامل مع أسماء المواقع Domain name.
Protocols البروتوكولات
بعد أن يتصل العميل بخدمة معينة عبر البوابة المخصصة لهذه الخدمة فان العميل يستطيع أن يستفيد من هذه الخدمة من خلال بروتوكول محدد. البروتوكول protocol هو عبارة عن طريقة معرفة مسبقا لتمكن العملاء من التحدث مع مزود الخدمة. والمقصود بالعملاء هنا هو البرنامج الذي يعمل على الجهاز مثل برنامج متصفح الانترنت الإكسبلورر أو غيره. وفي العادة يكون البروتوكول عبارة عن نص يصف طريقة التخاطب بين العميل والخادم.
ومن ابسط هذه البروتوكولات هو daytime protocol أي بروتوكول الوقت. فإذا ما اتصل جهازك بخادم يدعم برتوكول الوقت عبر البوابة 13 فإن الخادم سيقوم بإرسال التاريخ والوقت الحالي ثم يفصل الاتصال مع جهازك.
HTTP بروتوكول
بروتوكول HTTP المستخدم من كافة أجهزة خوادم صفحات الويب، والذي يسمح بالحصول على الملفات المطلوبة من أجهزة خادم صفحات الويب من خلال الأمر الرد على طلب الحصول على الملف المرسل من قبل متصفح الانترنت بمجرد أن تضع عنوان الـ URL والذي يبدأ عادة بالأحرف http وبعد أن يرسل الخادم الصفحة المطلوبة لمتصفحك يفصل الاتصال، وهذه هي وظيفة هذا البروتوكول
ملاحظة: بروتوكول HTTP الأصلي كان يتعامل فقط مع أسماء الملفات مثل ملف index.htm أو أي ملف موجود على الخادم ولكن تم تطوير البروتوكول ليتعامل مع كامل عنوان URL وهذا انعكس ايجابيا على الشركات المزودة لأسماء النطاقات حيث سمح بالتعامل مع النطاقات الافتراضية virtual domains بمعنى أن يكون هناك أكثر من نطاق على نفس الجهاز تستخدم نفس الـaddress IP لكل النطاقات التي تستضيفها لديها.
HTML لغة
وهى لغة مخصصة لانشاء وعمل صفحات الإنترنت وهى تعنى لغة ترميز النصوص الفائقة
Ports البوابات
كل جهاز خادم من أجهزة شبكة الانترنت يقدم خدماته من خلال بوابات مرقمة ports، ولكل خدمة رقم خاص متوفر على جهاز الخادم. فعلى سبيل المثال إذا كان جهاز الخادم يعمل كجهاز خادم لصفحات الويب فان هذا الخادم سيكون متوفر عند البوابة 80 في حين ان بوابة خادم تبادل الملفات باستخدام برتوكول FTP يكون متوفر عند البوابة 21، ويقوم العميل بالاتصال مع هذه الخدمات من خلال عنوان IP وعبر البوابة المخصصة
URL
كل جهاز خادم من أجهزة شبكة الانترنت يقدم خدماته من خلال بوابات مرقمة ports، ولكل خدمة رقم خاص متوفر على جهاز الخادم. فعلى سبيل المثال إذا كان جهاز الخادم يعمل كجهاز خادم لصفحات الويب فان هذا الخادم سيكون متوفر عند البوابة 80 في حين ان بوابة خادم تبادل الملفات باستخدام برتوكول FTP يكون متوفر عند البوابة 21، ويقوم العميل بالاتصال مع هذه الخدمات من خلال عنوان IP وعبر البوابة المخصصة
clients and servers العملاء والخوادم
بصفة عامة يمكن ان نقوم بتصنيف أجهزة الكمبيوتر المتصلة بشبكة الانترنت إلى فئتين هما الخوادم servers والعملاء clients حيث تعتبر الأجهزة التي توفر خدماتها على الانترنت مثل تصفح المواقع أو إرسال البريد أو تبادل الملفات تعتبر أجهزة خوادم servers مثل web server أو mail server أو FTP servers. والأجهزة التي تستفيد من هذه الخدمات تسمى عملاء clients. فمثلا عندما تقوم بالطلب موقع ياهو www.yahoo.com فان الجهاز الذي يستضيف موقع ياهو يعتبر خادم والجهاز الذي تستخدمه هو عميل.
في الحقيقة يمكن ان يكون كل جهاز على شبكة الانترنت خادم لبعض الأجهزة وعميل لأجهزة أخرى وحسب البرامج التي تثبت على أجهزة الخوادم يمكن ان يقوم الخادم بدور خادم صفحات الويب أو خادم للبريد الالكتروني أو خادم لتبادل الملفات. وحسب البرنامج الذي تستخدمه على جهازك فانه يتعامل مع الخادم المناسب فمثلا إذا كنت تستخدم متصفح الإكسبلورر أو متصفح الفيرفوكس فان المتصفح سيتعامل مع خوادم صفحات الويب أما إذا كنت تستخدم برنامج للبريد الالكتروني فانه سيتعامل مع خوادم البريد الالكتروني وهكذا
Domain Names أسماء النطاقات
حيث ان معظم الناس تجيد تذكر الأسماء وحفظها بطريقة أفضل كثيرا من حفظ الأرقام وتذكرها مثل أرقام عناوين بروتوكولات الانترنت فان هذه العناوين ترتبط باسم نطاق (على سبيل المثال عندما تقوم بتخزين رقم صديقك على الهاتف تقوم بحفظ الرقم وحفظ اسم صاحب هذا الرقم، وعندما تريد الاتصال به فانك تبحث عن اسمه أسهل بكثير من البحث عن رقمه من بين الأرقام المخزنة) ويكون اسم النطاق مكون من ثلاثة مقاطع كما في عنوان الموقع هذا .
الجزء الأول :
وهو الأحرف المشهورة ("www") تسمى اسم المضيف host name
الجزء الثاني :
الجزء الثاني هو ("yahoo") هو اسم النطاق domain name
الجزء الثالث :
هو ("com") ويعتبر المستوى الأعلى لاسم النطاق top-level domain name
Name Servers خوادم أسماء النطاقات
تختص هذه الخوادم بحفظ كل أسماء النطاقات وضمان عدم تكرارها وربطها مع عناوين بروتوكول الانترنت IP address وذلك من خلال قاعدة بيانات ضخمة موزعة على شبكة الانترنت حول العالم
لنضع كل المعلومات مع بعضها البعض
والآن بعد أن قمنا بشرح تفاصيل عملية تصفح مواقع الانترنت وكيف نحصل على المعلومات من أي مكان وفي أي لحظة فإننا الآن نستطيع أن نحلل معنى كل جزء في عنوان URL لأي موقع وعلى سبيل المثال هذا رابط موقع
حيث إن http هي برتوكول طلب المعلومات والحصول عليها. والعنوان www.yahoo.com هو اسم الخادم الموجود فيه ملفات الموقع. واسم الملف المطلوب في الرابط هو index.htm وهو يشير إلى الصفحة الرئيسية للموقع ولا نحتاج إلى كتابته في الرابط لان البروتوكول يقوم بذلك بشكل افتراضي، وأي ملف تريد أن تحصل عليه من يجب أن تحدد مساره بالضبط كما تفعل في ملفاتك على جهازك، فإذا كان الملف المطلوب داخل مجلدات فرعية عليك أن تضمنها داخل العنوان باستخدام علامة / لينتقل من مجلد إلى أخر.
* يقوم المتصفح بالاتصال بخادم أسماء النطاقات name server ليترجم عنوان الموقع إلى عنوان IP ليتصل بخادم الويب الذي يستضيف النطاق www.yahoo.com.
* يقوم المتصفح بالاتصال مع خادم الويب على عنوان IP وعبر المنفذ المخصص لخادم الويب وهو port 80.
* بعد تنفيذ بروتوكول HTTP فان المتصفح يرسل طلب الخادم للحصول على الملف المطلوب.
* يقوم الخادم بتلبية الطلب كود HTML بمحتويات الملف إلى المتصفح.
* يقوم المتصفح بقراءة كود HTML ويحولها إلى الصفحة التي نراها على الشاشة.
وفي النهاية نلاحظ ان ما يجري خلف كواليس شبكة الانترنت الكثير من الأمور المعقدة والمنظمة في نفس الوقت، والآن بالتأكيد ندرك ان تصفح الانترنت ليست عملية طلب الحصول على ملف واستقباله فقط وإنما هناك ملايين العمليات المعقدة تجرى من خلف الكواليس في كل مرة تطلب موقع او تضغط على رابط لينقلك من صفحة لأخرى وشكرا لك من ساهم في هذه التقنيات لتجعل من تصفح الانترنت عملية سهلة بدون أن نفهم كل هذه الأمور المقعدة.
|
انت الزائر رقم |