خادم ويب

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http://images.example.com

http://www.example.com

خادوم وب