كمبيوتر وملحقاته

كيف يعمل خادم صفحات الويب Web Server

كيف يعمل خادم صفحات الويب Web Server

هل فكرت من قبل كيف تعمل تقنية الويب أو بمعنى أخر عندما تجلس أمام الكمبيوتر وتقوم بالاتصال بالانترنت ثم تفتح أي صفحة لتقرأها كما تفعل الآن، أو عندما تقوم بالضغط على أي رابط لينقلك إلى صفحة أخرى أو ان تقوم بطباعة عنوان موقع في متصفح الانترنت، أو ان تقوم بالضغط على أي صفحة حفظتها في المفضلة. ماذا يحدث خلف كواليس الكمبيوتر لتظهر لك الصفحة التي طلبتها.

إذا كنت بالفعل قد تساءلت بينك وبين نفسك أو سالت احد أصدقائك لتعرف ما يحدث فأنت في المكان الصحيح الآن وستعرف الإجابة بإذن الله ففي هذا المقال من كيف تعمل الأشياء سوف نقوم بشرح فكرة عمل خادم صفحات الويب المسئول عن تلبية طلبك وإحضار الصفحة التي تريد سواء كنت في بيتك أو في مكان عملك أو في أي مكان في العالم. 

اعلانات جوجل

الفكرة الأساسية

دعنا نفترض انك تتصفح مواقع الانترنت على كمبيوترك وبينما أنت مستغرق في قراءة هذا المقال اتصل بك احد أصدقاؤك ليخبرك انه قرأ مقال رائعاً ويريد منك ان تقرأه أنت أيضا.  فوافقت وأحضرت قلما لتكتب عنوان المقال والذي هو رابط URL وهي اختصار لـ  uniform resource locator  وكتبت العنوان على النحو التالي: 

http://www.hazemsakeek.net/index.htm

فقمت بطباعة العنوان في المتصفح وضغط على مفتاح الإدخال Enter. فظهرت لك الصفحة التي قرأها صديقك لتستمتع أنت بقراءتها.  وببساطة فان الشكل التالي يوضح الخطوات التي تمت لكي تأتي الصفحة من الانترنت إلى جهازك. 

اعلانات جوجل

يقوم المتصفح بالاتصال مع خادم صفحات الويب والذي يعرف باسم web server ويطلب منه الصفحة والذي يقوم بدوره بإرسال الصفحة للمتصفح.  هذا باختصار شديد ولكن دعنا نلقى نظرة أعمق على تفاصيل العملية.

خلف الكواليس

ان تفاصيل ما يحدث عندما نقوم بطلب الحصول على صفحة ما من الانترنت وبمجرد ان نضع رابط الـ URL وضغط على مفتاح الإدخال Enter فان الخطوات الرئيسية التالية تحدث تباعاً وهي:

(1) يقوم المتصفح بتقسيم عنوان الموقع URL إلى ثلاثة أقسام هي:

(i) بروتوكول http

(ii) اسم النطاق server name والذي يكون www.hazemsakeek.net

اعلانات جوجل

(iii) اسم الملف والذي هو index.thm 

(2) يتصل المتصفح بخادم أسماء النطاقات name server ليحصل منه على عنوان IP الخاص باسم النطاق www.hazemsakeek.net

(3) يقوم المتصفح في هذه المرحلة بالاتصال بخادم الصفحة على عنوان IP الذي حصل عليه من خلال المنفذ (port) 80 (سنقوم بتوضيح ذلك لاحقا)

(4) يقوم بروتوكول HTTP بتوجيه المتصفح لإرسال طلب حصول على الموقع باستخدام اسم الملف www.hazemsakeek.net/index.htm *

(5) يقوم الخادم بإرسال كود HTML الخاص بالصفحة المطلوبة إلى المتصفح.

(6) يقوم المتصفح بقراءة كود الـ HTML وتحويله إلى صفحة انترنت تظهر على الشاشة.

 

* في بعض الأحيان يرسل الكوكيز cookies طلب للحصول على الصفحة من خلال المتصفح وسوف نقوم بشرح فكرة عمل الكوكيز  

لاحظ عزيزي القارئ إننا اعتمدنا على عدد من المصطلحات الخاصة بالانترنت مثل IP و HTTP و HTML و port و protocol وسوف نقوم بشرح هذه المصطلحات لمزيد من التوضيح.

الانترنت

نعود من البداية ونسأل أنفسنا ما هي الانترنت؟ الانترنت هي تجمع ضخم جدا لملايين الكمبيوترات ومن جميع الأنواع والأصناف تربطها شبكة توصل كل جهاز بالأجهزة الباقية.  تسمح الشبكة لهذه الأجهزة بالاتصال مع بعضها البعض فمثلا كمبيوتر المنزل يمكنك ان يتصل مع هذه الشبكة من خلال اتصال تلفوني عبر جهاز المودم أو عن طريق DSL أو بأي طريقة أخرى، مع مزود خدمة الانترنت والذي يعرف بالاسم internet service provider وتختصر بالأحرف ISP.  أما الكمبيوتر في العمل سواء في شركة أو جامعة فإنها تتصل مع شبكة الانترنت من خلال كرت شبكة مثبت في الجهاز ليتصل مع الشبكة المحلية للمؤسسة التي تربط أجهزتها مع بعضها البعض، وهذه الشبكة المحلية تتصل بالانترنت من خلال مزود خدمة الانترنت ISP ولكن من خلال خط تلفوني سريع مثل T1 والذي يستطيع ان يتعامل مع 1.5 مليون بت (وحدة المعلومات المتداولة في ذاكرة الكمبيوتر) في الثانية الواحدة.  في حين ان الخط التلفوني العادي المعتمد في الاتصال بالانترنت عبر المودم فان سرعته تتراوح بين 30,000 إلى 50,000 بت في الثانية.

يتصل مزود الخدمة المحلي بمزود خدما اكبر من خلال كوابل الألياف الضوئية fiber optics والتي تعتبر العمود الفقري لكامل شبكة الانترنت في العالم بمجمله.  حيث تربط قارات العالم شبكة ضخمة من خلال كوابل الألياف البصرية الممتدة في أعماق البحار (تذكر المشكلة التي حدثت في انقطاع الانترنت في العديد من الدول بسبب انقطاع كابل انترنت في البحر المتوسط) وبهذه الطريقة يكون كل كمبيوتر متصل على شبكة الانترنت سيكون متصلا أيضا جهاز آخر متصل مع الشبكة معه في نفس الوقت. 

العملاء والخوادم clients and servers

بصفة عامة يمكن ان نقوم بتصنيف أجهزة الكمبيوتر المتصلة بشبكة الانترنت إلى فئتين هما الخوادم servers والعملاء clients حيث تعتبر الأجهزة التي توفر خدماتها على الانترنت مثل تصفح المواقع أو إرسال البريد أو تبادل الملفات تعتبر أجهزة خوادم servers مثل web server أو mail server أو FTP servers.  والأجهزة التي تستفيد من هذه الخدمات تسمى عملاء clients. فمثلا عندما تقوم بالطلب موقع ياهو www.yahoo.com فان الجهاز الذي يستضيف موقع ياهو يعتبر خادم والجهاز الذي تستخدمه هو عميل.

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

عناوين بروتوكول الانترنت IP Addresses

لكي تصبح الأمور على شبكة الانترنت أكثر انتظاما وسهولة في التعامل مع هذا الكم الكبير جد في الأجهزة وأنواعها وطبيعة عملها فان كل جهاز على الشبكة يخصص له رقم فريد ومميز يسمى عنوان بروتوكول الانترنت IP address حيث الحرفين IP هي اختصار لكلمة Internet protocol، وتتميز هذه العناوين في إنها مكونة من 32bit تمثل في أربع مجموعات تفصلها نقطة كما في الشكل التالي

216.183.103.150

تسمى الأربع أرقام في عنوان IP بالثمانية لان تأخذ القيم من 0 إلى 255 أي ان هناك 28 من الاحتمالات لكل مجموعة.

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

لنقوم بفحص عنوان IP لجهازك الآن، كل ما عليك هو ان تقوم بتشغيل الأمر RUN وتكتب CMD وتضغط على زر موافق لتفتح لك شاشة تنفيذ الأوامر (شاشة سوداء) تكتب عند إشارة الإدخال الأمر IPCONFIG.EXE ثم تضغط على المفتاح Enter.

وبالتالي فانه من حيث فكرة عمل الانترنت فانه يمكن ان يتم كتابة رقم IP للموقع المراد تصفحه وسيقوم المتصفح بالوصول للخادم الذي يحتوي على الموقع ويجلبه لك.  ولكننا بالتأكيد نفضل التعامل مع أسماء المواقع Domain name.

أسماء النطاقات Domain Names

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

www.hazemsakeek.net

 الجزء الأول وهو الأحرف المشهورة (“www”) تسمى اسم المضيف host name

الجزء الثاني هو  (“hazemsakeek”) هو اسم النطاق domain name

الجزء الثالث هو (“com”) ويعتبر المستوى الأعلى لاسم النطاق top-level domain name 

خوادم أسماء النطاقات Name Servers

تختص هذه الخوادم بحفظ كل أسماء النطاقات وضمان عدم تكرارها وربطها مع عناوين بروتوكول الانترنت IP address وذلك من خلال قاعدة بيانات ضخمة موزعة على شبكة الانترنت حول العالم.  وقد تحدثنا عن هذه الخوادم بالتفصيل في مقال منفصل بعنوان كيف تعمل خادم أسماء النطاقات: 

البوابات Ports

كل جهاز خادم من أجهزة شبكة الانترنت يقدم خدماته من خلال بوابات مرقمة ports، ولكل خدمة رقم خاص متوفر على جهاز الخادم.  فعلى سبيل المثال إذا كان جهاز الخادم يعمل كجهاز خادم لصفحات الويب فان هذا الخادم سيكون متوفر عند البوابة 80
في حين ان بوابة خادم تبادل الملفات باستخدام برتوكول
FTP يكون متوفر عند البوابة 21، ويقوم العميل بالاتصال مع هذه الخدمات من خلال عنوان IP وعبر البوابة المخصصة.

البروتوكولات Protocols

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

ومن ابسط هذه البروتوكولات هو daytime protocol أي بروتوكول الوقت.  فإذا ما اتصل جهازك بخادم يدعم برتوكول الوقت عبر البوابة 13 فإن الخادم سيقوم بإرسال التاريخ والوقت الحالي ثم يفصل الاتصال مع جهازك. وإذا فحصنا هذا البروتوكول لوجدنا انه عبارة عن الجملة التالية

“If you connect to me, I will send you the date and time
and then disconnect.”

ومن الأمثلة الأخرى على البروتوكول وهو بروتوكول HTTP المستخدم من كافة أجهزة خوادم صفحات الويب، والذي يسمح بالحصول على الملفات المطلوبة من أجهزة خادم صفحات الويب من خلال الأمر الرد على طلب الحصول على الملف المرسل من قبل متصفح الانترنت بمجرد أن تضع عنوان الـ URL والذي يبدأ عادة بالأحرف http وبعد أن يرسل الخادم الصفحة المطلوبة لمتصفحك يفصل الاتصال، وهذه هي وظيفة هذا البروتوكول

ملاحظة: بروتوكول HTTP الأصلي كان يتعامل فقط مع أسماء الملفات مثل ملف index.htm أو أي ملف موجود على الخادم ولكن تم تطوير البروتوكول ليتعامل مع كامل عنوان URL وهذا انعكس ايجابيا على الشركات المزودة لأسماء النطاقات حيث سمح بالتعامل مع النطاقات الافتراضية virtual domains  بمعنى أن يكون هناك أكثر من نطاق على نفس الجهاز تستخدم نفس الـaddress  IP لكل النطاقات التي تستضيفها لديها.   

لنضع كل المعلومات مع بعضها البعض، والآن بعد أن قمنا بشرح تفاصيل عملية تصفح مواقع الانترنت وكيف نحصل على المعلومات من أي مكان وفي أي لحظة فإننا الآن نستطيع أن نحلل معنى كل جزء في عنوان URL لأي موقع وعلى سبيل المثال هذا رابط موقع الفيزياء التعليمي وهو

www.hazemsakeek.net/index.htm

حيث إن http هي برتوكول طلب المعلومات والحصول عليها. والعنوان www.hazemsakeek.net هو اسم الخادم الموجود فيه ملفات الموقع.  واسم الملف المطلوب في الرابط هو index.php وهو يشير إلى الصفحة الرئيسية للموقع ولا نحتاج إلى كتابته في الرابط لان البروتوكول يقوم بذلك بشكل افتراضي، وأي ملف تريد أن تحصل عليه من يجب أن تحدد مساره بالضبط كما تفعل في ملفاتك على جهازك، فإذا كان الملف المطلوب داخل مجلدات فرعية عليك أن تضمنها داخل العنوان باستخدام علامة / لينتقل من مجلد إلى أخر.

  •  يقوم المتصفح بالاتصال بخادم أسماء النطاقات  name server ليترجم عنوان الموقع إلى عنوان  IP ليتصل بخادم الويب الذي يستضيف النطاق www.hazemsakeek.netيقوم المتصفح بالاتصال مع خادم الويب على عنوان 

      IPوعبر المنفذ المخصص لخادم الويب وهو  port 80.

  • بعد تنفيذ بروتوكول HTTP فان المتصفح يرسل طلب الخادم للحصول على الملف المطلوب.
  • يقوم الخادم بتلبية الطلب كود  HTML بمحتويات الملف إلى المتصفح.
  • يقوم المتصفح بقراءة كود HTML ويحولها إلى الصفحة التي نراها على الشاشة.

معلومات حول الحماية والأمان Security

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

معلومات حول الصفحات التفاعلية Dynamic Page

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

كذلك المواقع التي توفر لك نماذج لتعبئتها لتحجز تذكرة طائرة أو غرفة في فندق أو تشتري جهاز أو كتاب فهي تستقبل منك الطلب وتقوم بالرد عليك من خلال الموقع.

كذلك محركات البحث تعتبر من المواقع التفاعلية، حيث تقوم بإدخال كلمة مفتاحية للبحث عن موضوع معين ويقوم محرك البحث بإيجاد المواقع التي تحتوى على الكلمة المفتاحية.

وفي النهاية نلاحظ ان ما يجري خلف كواليس شبكة الانترنت الكثير من الأمور المعقدة والمنظمة في نفس الوقت، والآن بالتأكيد ندرك ان تصفح الانترنت ليست عملية طلب الحصول على ملف واستقباله فقط وإنما هناك ملايين العمليات المعقدة تجرى من خلف الكواليس في كل مرة تطلب موقع او تضغط على رابط لينقلك من صفحة لأخرى وشكرا لك من ساهم في هذه التقنيات لتجعل من تصفح الانترنت عملية سهلة بدون أن نفهم كل هذه الأمور المقعدة.

ارجو المساهمة في هذه الحملة

الدكتور حازم فلاح سكيك

د. حازم فلاح سكيك استاذ الفيزياء المشارك في قسم الفيزياء في جامعة الازهر – غزة | مؤسس شبكة الفيزياء التعليمية | واكاديمية الفيزياء للتعليم الالكتروني | ومنتدى الفيزياء التعليمي

مقالات ذات صلة

تعليق واحد

  1. السلام عليكم
    المقال رائع .. لكن للاسف يظهر اعلان عن المسيح و عند الدخول عليه تظهر معلومات خاطئة حول انه اله و ليس رسول ..
    رجاء ازالة هذه النوعية من الاعلانات و شكرا

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.

زر الذهاب إلى الأعلى