خادوم ويب

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
خادوم وب

مزود وب أو خادوم وب أو خادم وب (بالإنجليزية: web server) هو البرنامج الذي يسمح لك بالتجول على شبكة إنترنت باستخدام متصفح وب ورؤية الصفحات كالتي تراها الآن، وذلك عن طريق توفير الصفحات بصيغة لغة رقم النص الفائق (HTML) أو غيرها من الصيغ المستخدمة.

و من أمثلة مزودات وب المشهورة:

خادم الشبكة (Web server)[عدل]

هو برنامج الحاسوب الذي يسلم (يخدم) المحتوى، مثل الصفحة أي صفحة على شبكة إنترنت، وذلك باستخدام بروتوكول نقل النص الفائق ("Hypertext Transfer Protocol "HTTP), وعلى المدى فإن خادم الشبكة يمكن أن يشير إلى العتاد المرئي "جهاز الحاسوب" أو العتاد البرمجي و يشمل ذلك "الآلة الافتراضية (Virtual machine)" أو البرنامج المسؤول عن خدمة المحتوى (Web Server Software).

نبذة عامه[عدل]

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

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

تاريخ خوادم الشبكة[عدل]

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

نتيجة لتنفيذ هذا المشروع، في عام 1990 كتب بيرنرز لي برنامجين :

  1. مستعرض (Browser) أسماه الشبكة العالمية (World Wide Web).
  2. خادم شبكة، عرف فيما بعد باسم سيرن Httpd والذي كان أول خادم شبكة في العالم.

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

السمات المشتركة[عدل]

1-الاستضافة الافتراضية (Virtual hosting) لخدمة العديد من المواقع باستخدام عنوان بروتوكول إنترنت واحد (IP address). 2-الملف كبير الدعم يكون قادر على خدمة ملفات حجمها أكبر من 2 غيغابايت (GB) على نظام تشغيل يدعم هيكلية 32 بت. 3-التحكم بعرض النطاق الترددي للحد من سرعة الاستجابة وتشبع الشبكة وبذلك تكون قادرة على خدمة المزيد من العملاء.

أصل المحتوى العائد[عدل]

يقوم خادم الويب بخدمة نوعين من المحتويات:

  • ثابت (ٍStatic): حيث لا يتم معالجة المحتوى في هذه الحالة و انما يتم فقط خدمته.
  • ديناميكي (Dynamic): و في هذه الحالة يقوم الخادم بمعالجة المحتوى قبل ارساله إلى المتصفح، و عادة ما تتم عملية المعالجة باستخدام احدى لغات البرمجة.

و من الجدير بالذكر القول أن خدمة المحتوى الثابت عادة ما تكون أسرع (من 2 إلى 100 مرة) من خدمة المحتوى الديناميكي، وخاصة إذا كان الأخير يعتمد على سحب البيانات من قاعدة بيانات أو أن يقوم الخادم بسحب البيانات من خادم اَخر.

مسار الترجمة[عدل]

خوادم الشبكة قادرة على رسم خارطة طريق عنصر محدد موقع المعلومات (URL) إلى :

  • موارد نظام الملف المحلي (للطلبات الثابته).
  • اسم برنامج داخلي أو خارجي (للطلبات الديناميكية).

للطلب الثابت يكون مسار موقع المعلومات محدد من قبل العميل وهو نسبة إلى الدليل الجذري (Root directory) لخادم الشبكة وهذا هو العنوان الذي سيطلب من قبل العميل، مثال ذلك:

 http://www.example.com/path/file.html

سيترجم متصفح الإنترنت (Web browser) للعميل ذلك إلى اتصال www.example.com بما يلي النص المتشعب HTTP 1.1 طلب

    GET /path/file.html HTTP/1.1
    Host: www.example.com

خادم الويب على www.example.com سيلحق المسار المعطى بمسار الدليل الجذري (Root directory) وفي آلآت يونيكس هذا هو الشائع /var/www/ والنتيجة هي مورد نظام الملف المحلي : var/www/path/file.html/ سيقرأ خادم الشبكة الملف -حال وجوده- ومن ثم يرسل الاستجابة إلى متصفح الإنترنت للعميل وسيصف الرد محتوى الملف واحتواء الملف نفسه.

حدود السعة التحملية[عدل]

يضع خادم الشبكة (البرنامج) حدوداً للسعة التحملية، و تعرف السعة التحملية لخادم الويب بالعدد الأقصى من الطلبات التي يستطيع تنفيذها في وقت واحد، وبما أنه لا يستطيع التعامل مع عدد لانهائي من اتصالات العملاء المتزامنة (عادة ما بين 2 و 80,000 وافتراضيا بين 500 و1,000 لكل عنوان) فلابد من وضع ضوابط للتحكم بالسعة التحملية و هذه الضوابط يتم تنفيذها عبر ما يلي:

  • إعدادات الخادم الخاصة.
  • نوع طلب المتشعب (HTTP).
  • أصل محتوى (ثابت أو متحرك).
  • تعمل الأجهزة والبرمجيات على الحد من عمل نظام التشغيل.

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

وضع النواة ووضع المستخدم لخوادم الشبكة (Kernel –mode and user-mode web servers)[عدل]

ومن الممكن أن ينفذ خادم الشبكة إما في نواة نظام التشغيل (OS kernel)أو في فضاء المستخدم (User space) مثل التطبيقات العادية الأخرى، وضع النواة لخادم الشبكة (مثل تكس عندما يعمل على أنظمة لينكس أو الآي آي إس (IIS) الذي يعمل على أنظمة مايكروسوفت ويندوز) عادة ما يعمل بشكل أسرع لأنه جزء من النظام، وبذلك يمكنه مباشرة استخدام جميع الموارد التي يحتاجها، مثل :

  • الذاكرة الغير مقسمة إلى صفحات (Non-paged memory).
  • شرائح الوقت لوحدة المعالجة المركزية (CPU time-slice).
  • مخازن محولات الشبكة (Network adapter’s buffers).

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

أسباب الحمل الزائد[عدل]

من الممكن أن تكون خوادم الشبكة زائدة الحمل وذلك بسبب:

  • الكثير من حركة المرور على الشبكة.هناك الآلاف أو حتى الملايين من العملاء يستطيعون الوصول إلى مواقع عديدة على شبكة الإنترنت في فترة زمنية قصيرة.
  • حجب الخدمة عن طريق اغراق الخادم بالطلبات (DoS Attack).
  • طفيليات الكمبيوتر (Computer worms) التي تسبب حركة غير طبيعية في بعض الأحيان وذلك لأن الملايين من أجهزة الكمبيوتر المصابة (غير منسق فيما بينها).
  • فايروسات إكس إكس إس (XXS)، يمكن أن تتسبب بارتفاع في حركة المرور بسبب إصابة الملايين من متصفحات الإنترنت أو خوادم الشبكة بها.
  • روبوتات الشبكة العالمية.
  • التباطؤ في شبكة الإنترنت، حيث يتم تقديم طلبات العميل ببطء شديد وبذلك يزيد عدد الروابط إلى أن يتم التوصل إلى حدود الخادم.
  • عدم توفر خوادم الويب، من الممكن أن يحدث هذا بسبب الصيانة المطلوبة أو لأمر عاجل أو لترقية أو بعض الأخطاء وحالات الفشل (قاعدة البيانات Data Base) وغيرها، وفي مثل هذه الحالات المتبقية تكون خوادم الشبكة في حالة حركة مما يؤدي إلى زيادة الحمل عليها.

أعراض الحمل الزائد[عدل]

  • التأخر في خدمة المحتوى للعملاء.
  • حين يقوم خادم الويب بارجاع رموز تدلل على حالة الخادم مثل 500، 502، 503، 504، 408، أو حتى 404
  • في حالات نادرة جدا، يتم إرسال محتويات جزئية فقط (و في هذه الحالة يمكن اعتبار هذا التصرف بمثابة خطأ برمجي حتى و ان كان نتيجة حمل الزائد على أجهزة الخوادم).

التقنيات المضادة للحمل الزائد[عدل]

محاولة التغلب جزئيا ومنع حدوث الحمل الزائد، فأكثر مواقع الويب الشعبية تقوم باستخدام التقنيات الشائعة مثل إدارة حركة المرور في الشبكة باستخدام :

  • الجدران النارية (Firewalls) لعرقلة حركة المرور الغير مرغوب فيها والقادمة من مصادر عناوين سيئة أو وجود أنماط سيئة.
  • يوجه المتشعب (HTTP) مديري المرور إلى الانخفاض، وتكون إعادة التوجيه أو إعادة الكتابة تتطلب وجود أنماط متشعب سيئة.
  • عرض النطاق الترددي (Bandwidth) لإدارة وتشكيل حركة المرور، من أجل سلاسة استخدام الشبكة.
  • نشر تقنيات التخزين المؤقت على الشابكة ( الإنترنت ).
  • استخدام أسماء نطاقات مختلفة لخدمة مختلف المحتويات (الثابتة والمتحركة) من خوادم الشبكة المنفصلة، أي :

http://images.example.com

http://www.example.com

  • استخدام أسماء نطاقات مختلفة و/أو حواسيب لفصل الملفات الكبيرة من الصغيرة والمتوسطة الحجم، والفكرة هي أن تكون قادرة تماما على تخزين الملفات الصغيرة والمتوسطة الحجم بكفاءة وذلك لتقديم خدمة كبيرة أو ضخمة (أكثر من 10—1000 ميغابايت) وذلك باستخدام إعدادات مختلفة.
  • استخدام العديد من برامج خوادم الشبكة في حاسوب واحد، وكل واحد منها يتجه إلى بطاقة الشبكة الخاصة به و عنوان الملكية الفردية (IP address).
  • استخدام العديد من حواسيب خوادم الشبكة والتي يتم تجميعها معا بحيث يتم التصرف بها والنظر إليها وكأنها خادم شبكة كبير (واحد).
  • إضافة مزيد من الموارد المعدنية (ذاكرة الوصول العشوائي (RAM)، والأقراص) على كل حاسوب.
  • ضبط نظام التشغيل للأجهزة وقدراتها واستخداماتها.
  • استخدام العديد من برامج الحاسب الأكثر كفاءة لخوادم الشبكة، إلخ.
  • استخدام الحلول الأخرى، خصوصا إذا كان المحتوى الديناميكي هو المعني.

وصلات خارجية[عدل]