تم إطلاق أول خادم ويب في عام 1991. ولفترة طويلة، وتحديدًا منذ 1995، كان Apache أحد أهم خوادم الويب مفتوحة المصدر والوحيد تقريبا الجدير بالذكر. لكن لاحقا، ومع مرور الوقت، وتطور الإنترنت , وتنوع لغات البرمجة , وأنظمة التشغيل,وتطور العتاد,ظهرت خوادم ويب عديدة لتلبي تلك المتغيرات وتعددت مزاياها وخصائصها.
في هذا الدليل، نلقي نظرة على بعض من أفضل خوادم الويب مفتوحة المصدر.
1. Apache HTTP Server
خادم Apache HTTP، المعروف باسم Apache أو httpd في توزيعات RedHat، هو خادم ويب مجاني ومفتوح المصدر تم تطويره بواسطة Apache Software Foundation بموجب ترخيص Apache الإصدار 2. إذ تم إصدار Apache في عام 1995، وتطور بسرعة فائقة ليصبح أحد أكثر الخوادم شهرة وخوادم الويب المستخدمة على نطاق واسع، حيث تعمل أكثر من 38٪ من جميع مواقع الويب الحالية بالاعتماد عليه.
تمت كتابة Apache بلغة C، كخادم ويب قابل للتخصيص بدرجة كبيرة ,بفضل العديد من الوحدات -modules- التي تعمل على توسيع وظائفه. يتضمن ذلك على سبيل المثال mod_file_cache للتخزين المؤقت، و mod_ftp لتوفير دعم FTP لعمليات تحميل الملفات وتنزيلها، و mod_ssl الذي يسمح بدعم بروتوكولات تشفير SSL / TLS، وغيرها الكثير.
بالإضافة إلى ذلك، نظرًا لنمو وتفاعل المجتمع الداعم، تتوفر باستمرارية مجموعه غنية من الوحدات تلبي المتغيرات الجديدة المواكبة لتطور لغات البرمجة والإنترنت، إذ يوفر Apache دعمًا لأغلب البروتوكولات مثل دعم كل من IPv4 و IPv6 وبروتوكولات HTTP و HTTP / 2 و HTTPS شائعة الاستخدام.
يوفر Apache أيضًا دعم “virtual hosting“, هذا يعني أنه يسمح باستضافة عدة نطاقات -عناوين- أو مواقع ويب. من خلال تكوين مضيفات افتراضية، ويمكن لخادم واحد استضافة نطاقات متعددة بسهولة ودون أي تعقيدات.
2. Nginx Web Server
تلفظ هكذا Engine-X، هو خادم ويب سريع قوي وعالي الأداء ومفتوح المصدر , يعمل أيضًا كموازن تحميل وخادم وكيل عكسي وخادم وكيل IMAP / POP3 وبوابة API. يعد Nginx مناسبًا لعمليات الإدخال/الإخراج المكثفة ويمكنه التعامل مع التزامن العالي”عدد طلبات كبير”.
تم تطوير Nginx في البداية بواسطة Igor Sysoev في عام 2004، لتجاوز بعض عيوب ِApache في ذلك الوقت بشكل خاص كون Apache لا يمكنه معالجة 10000 طلب في نفس الوقت. وقد نمت شعبيته لتتفوق على المنافسين وتصبح واحدة من أكثر خوادم الويب استقرارًا وموثوقيه.
3. Lighttpd Web Server
Lighttpd هو خادم ويب مجاني ومفتوح المصدر مصمم خصيصًا للتطبيقات ذات السرعة الحرجة. على عكس Apache و Nginx، فإن حجمه صغير جدًا (أقل من 1 ميجابايت) وهو اقتصادي للغاية مع موارد الخادم كالذاكرة والمعالج.
.يتم توزيع Lighttpd بموجب ترخيص BSD، ويعمل أصلاً على أنظمة Linux / Unix ولكن يمكن أيضًا تثبيته في Microsoft Windows. إنه شائع لبساطته وسهولة إعداده وأدائه ودعمه للوحدات -modules-.
تم تحسين بنية Lighttpd للتعامل مع حجم كبير من الاتصالات المتوازية التي تعتبر ضرورية لتطبيقات الويب عالية الأداء. يدعم خادم الويب FastCGI و CGI و SCGI لربط البرامج بخادم الويب. كما أنه يدعم تطبيقات الويب المكتوبة بعدد لا يحصى من لغات البرمجة بشكل خاص لـ PHP و Python و Perl و Ruby.
تشمل الميزات الأخرى دعم SSL / TLS وضغط HTTP باستخدام وحدة mod_compress والاستضافة الافتراضية ودعم الوحدات النمطية المختلفة.
4. Apache Tomcat
Apache Tomcat هو تطبيق مفتوح المصدر لمحرك Java servlet ولغة Java وصفحات ويب خادم Java. يأتي كخيار مثالي للمطورين الذين يقومون ببناء ونشر التطبيقات المستندة إلى Java.
وفقًا لدراسة أخيرة أجرتها BZ Research، يبدو Apache Tomcat هو خادم التطبيقات الأكثر استخدامًا بين مطوري Java. تشير النتائج أن Apache Tomcat Server يستخدمه 64٪ من مهندسي Java في الشركات. أيضًا، وحظيت حاوية Tomcat بشعبية ودعم أكبر من المطورين ومسؤولي النظام أكثر من خوادم التطبيقات الأخرى.كونه مصمم خصيصًا لخدمة المحتوى المستند إلى Java.ببساطه يوفر Tomcat وظائف JSP التي يفتقر إليها خادم Apache HTTP.
يمكنك تشغيل Apache Tomcat جنبًا إلى جنب مع خادم Apache HTTP أو Nginx في حالة كان التعامل مع مشاريع تحتوي على محتوى PHP و Java. يمكن لخادم Apache HTTP أو Nginx التعامل مع المحتوى الثابت والديناميكي ليتعامل Tomcat مع وظائف JSP, يدعم AWS (Amazon Web Services), HTTP/2، و OpenSSL. هذا يجعله خياراً ممتازاً.
5. Caddy Web Server
تم كتابته باستخدام لفة البرمجة Go، يعد Caddy خادم ويب سريع وقوي وأمن ومستقل، يمكنه العمل كوكيل عكسي وموازن تحميل وبوابة API. كل شيء مدمج -build in – عدم وجود تبعيات ,هذا يجعل Caddy سهل التثبيت والاستخدام والوثوقية.
بشكل افتراضي، يدعم Caddy بروتوكول HTTPS ويتولى بسهولة تجديد شهادة SSL / TLS. يزيد نقص التبعيات -كونه مستقل- من إمكانية نقلها عبر توزيعات مختلفة دون أي تعارض في المكتبات.
لهذا هو خادم ويب مثالي لتشغيل التطبيقات المكتوبة في GO ويقدم دعمًا كاملاً لـ IPv6 و HTTP / 2 لتمكين طلبات HTTP السريعة. كما أنه يدعم الاستضافة الافتراضية وتقنية WebSockets المتقدمة وإعادة كتابة عناوين URL وإعادة التوجيه والتخزين المؤقت والملفات الثابتة التي تعمل بالضغط وعرض العلامات.
6. NodeJS
Node.js هي بيئة تشغيل من جانب الخادم تستخدم لبناء تطبيقات الويب في Javascript. تم تجميعه مع وحدة HTTP لتوسيع وظائفه كخادم ويب. تمت كتابة Node.js في البداية في عام 2009 بواسطة Ryan Dahl ويعمل حاليًا بنسبة 1.2 ٪ من جميع مواقع الويب.
إنها بيئة تشغيل مفتوحة المصدر لتطوير تطبيقات الخادم والشبكات. تسمح للمبرمجين بكتابة برمجيات بلغة Javascript تعمل خارج مُتصفح الويب، ويقوم NodeJS بترجمتها إلى لغة تفهمها الآلة من خلال مُحرك Javascript V8 المصمم من طرف جوجل، والمستخدم في متصفح كروم وتستخدمه باقي المتصفحات المبنية على نواة كروميوم، هذا يمكن المبرمجين من برمجة العديد من الأمور باستخدام لغة جافاسكربت وجعلها تعمل خارج المتصفح، كبرمجة الواجهة الخلفية للمواقع (back-end)، برمجة سكربت يعمل على سطر الأوامر، وكذلك برمجة تطبيقات بواجهات رُسومية باستخدام تقنيات مثل إلكترون (Electron). إذ تتم كتابة تطبيقات Node.js بلغة JavaScript، ويمكن تنفيذها خلال وقت تشغيل Node.js على أنظمة التشغيل OS X و Microsoft Windows و Linux.
هكذا نكون قد سردنا بعض أشهر مخدمات الويب الأكثر استخداما حاليا , مع الإشارة إلى أن أفضلية أي مخدم عند الاختيار ترجع إلى نوع المشروع والى الأدوات المستخدمة فيه (لغات البرمجة، حجم المشروع واستهلاكه للموارد وطبيعة إدارته للموارد،..إلخ) لهذا فإن “الخيار الأفضل” هو حالة خاصة تتبع خصائص ومتطلبات كل مشروع بعينه.