logo

ما هو أباتشي؟

Apache هو برنامج مجاني ومفتوح المصدر لخادم الويب يستخدمه تقريبًا 40% من المواقع في جميع أنحاء العالم. Apache HTTP Server هو اسمه الرسمي. تم تطويره وصيانته بواسطة مؤسسة برمجيات أباتشي . يسمح Apache لأصحاب مواقع الويب بتقديم المحتوى عبر الويب. وهذا هو السبب في أنه يعرف باسم ' قاعدة بيانات للانترنت .' تم نشر أحد الإصدارات القديمة والأكثر موثوقية لخادم الويب Apache في عام 1995.

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

معنى خادم الويب

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

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

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

عمل الأباتشي

أباتشي ليس أي خادم فعلي؛ إنه برنامج يتم تنفيذه على الخادم. ومع ذلك، فإننا نعرّفه بأنه خادم ويب. هدفها هو بناء اتصال بين متصفحات زائري موقع الويب (Safari وGoogle Chrome وFirefox وما إلى ذلك) والخادم. يمكن تعريف Apache على أنه برنامج متعدد المنصات، لذا يمكنه العمل على خوادم Windows وUNIX.

عندما يرغب أي زائر في تحميل صفحة على موقعنا، الصفحة الرئيسية، على سبيل المثال، أو صفحة 'نبذة عنا'، سيقوم متصفح الزائر بإرسال طلب على الخادم الخاص بنا. سيُرجع Apache استجابة مع كل ملف مطلوب (الصور والملفات وما إلى ذلك). يتواصل العميل والخادم عبر بروتوكول HTTP، ويكون Apache مسؤولاً عن الاتصال الآمن والسلس بين كلا الجهازين.

Apache هو برنامج عالي الجودة قابل للتخصيص . أنه يحتوي على الهيكل القائم على الوحدة النمطية. تسمح الوحدات النمطية المختلفة لمسؤولي الخادم بإيقاف تشغيل الوظائف الإضافية وتشغيلها. يتضمن Apache وحدات للتخزين المؤقت والأمان ومصادقة كلمة المرور وإعادة كتابة عنوان URL وأغراض أخرى. يمكننا أيضًا إعداد التكوين الخاص بنا للخادم بمساعدة ملف يعرف باسم .htaccess . إنه ملف تكوين مدعوم لـ Apache.

خوادم الويب الأخرى مقابل أباتشي

هناك العديد من خوادم الويب المتاحة والتي تختلف عن Apache. تم تصميم جميع تطبيقات خادم الويب لأنواع مختلفة من الأهداف. لدى Apache بعض المنافسين والبدائل وهو في الغالب برمجيات مستخدمة.

أباتشي مقابل NGINX

ما هو أباتشي

يتم نطق Nginx كـ المحرك-X . إنه تطبيق جديد لخادم الويب وتم نشره لأول مرة في عام 2004. وقد اكتسب Nginx شعبية بين أصحاب المواقع. تم تطويره لحل مشكلة c10k، مما يعني أن خوادم الويب التي تستخدم سلاسل العمليات لإدارة الطلبات المختلفة للمستخدمين غير قادرة على التعامل مع أكثر من 10000 اتصال في المرة الواحدة.

  1. يمكن أن يواجه مالكو مواقع الويب ذات الزيارات الكثيفة مشكلات في الأداء لأن Apache يستخدم بنية قائمة على سلاسل المحادثات. يحدد Nginx مشكلة c10k التي ربما تكون واحدة من أكثر المشكلات حظًا.
  2. يحتوي Nginx على بنية تعتمد على الأحداث. ولا يقوم بإنشاء عملية أحدث لجميع الطلبات. بدلاً من ذلك، فهو يدير جميع الطلبات الواردة في سلسلة رسائل فردية. تعالج هذه العملية العمليات المنفذة المختلفة التي تنفذ المعالجة الفعلية للطلب. يقوم نموذج Nginx القائم على الحدث بمشاركة طلبات المستخدم بين تقنيات العاملين بطريقة سهلة وفعالة ومن ثم فهو يوفر قابلية توسع أفضل.
  3. يمكن أن يكون Nginx خيارًا أفضل لأنه يمكنه إدارة مواقع الويب ذات الزيارات العالية باستخدام الحد الأدنى من الموارد. وبشكل أكثر تحديدًا، يمكن استخدامه من قبل العديد من مواقع الويب عالية الوضوح مثل Airbnb، وPinterest، وHulu، وNetflix.
  4. ومع ذلك، يوفر Apache العديد من المزايا على Nginx لأنه يتمتع بتكوين سهل، وبيئة صديقة للمبتدئين، ووحدات متنوعة للاعبين المتوسطين والصغار.

أباتشي مقابل تومكات

ما هو أباتشي

هر cab على أنه خادم ويب وتم تحسينه بواسطة مؤسسة Apache Software Foundation. ومن ثم، فإن Apache Tomcat هو الاسم الرسمي لها. Tomcat هو أيضًا خادم HTTP. ومع ذلك، فهو يعمل على تحسين تطبيقات Java بدلاً من مواقع الويب الثابتة. يمكن لخادم الويب هذا تنفيذ العديد من تطبيقات Java المتميزة مثل WebSocket وJava EL و JSP (صفحات JavaServer)، و جافا سيرفلت .

  1. على وجه التحديد، تم إنشاء Tomcat لتطبيقات Java، بينما تم إنشاء Apache كخادم HTTP. يمكننا تطبيق Apache بلغات برمجة مميزة (Perl، وPython، وPHP، وما إلى ذلك) بدعم من وحدة Apache المناسبة (mod_perl، وmod_python، وmod_php، وما إلى ذلك).
  2. على الرغم من أنه يمكننا تطبيق خادم الويب Tomcat لخدمة صفحات الويب (الثابتة)، إلا أنه أقل فعالية لهذا الغرض بالمقارنة مع خادم Apache. يستطيع Tomcat التحميل المسبق لـ Java VM ومكتبات Java الأخرى التي لن نطلبها في معظم مواقع الويب.
  3. كما أن Tomcat أقل قابلية للتكوين مقارنة بالأنواع الأخرى من خوادم الويب. الخيار الأفضل هو خادم HTTP مثل NGINX أو Apache لتنفيذ WordPress.

إيجابيات وسلبيات أباتشي

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

الايجابيات:

  1. برامج مستقرة وموثوقة.
  2. مجانية ومفتوحة المصدر، حتى للاستخدام الاقتصادي.
  3. تصحيحات أمنية منتظمة، يتم تحديثها بشكل متكرر.
  4. صديقة للمبتدئين، وسهلة التكوين.
  5. مرنة بسبب الهيكل القائم على الوحدة النمطية.
  6. يعمل خارج الصندوق مع مواقع WordPress.
  7. عبر الأنظمة الأساسية (يُطبق على خوادم Windows وUnix).
  8. دعم متاح بسهولة ومجتمع ضخم في حالة وجود أي مشكلة.

سلبيات:

  1. مشكلات الأداء المختلفة على مواقع الويب ذات حركة المرور الكثيفة للغاية.
  2. يمكن أن تتسبب خيارات التكوين المتعددة في حدوث حساسية أمنية.

إصدارات أباتشي

الإصدار 1.1

تمت الموافقة على هذا الإصدار من Apache في عام 2000 بواسطة ASF. التغيير الرئيسي يقع ضمن 'بند الإعلان' من الترخيص 1.0. لم يعد المنتج المشتق من 'شرط الإعلان' ضروريًا لتضمين جوانب المواد الإعلانية (في الوثائق فقط).

الإصدار 2.0

تم اعتماد الإصدار 2.0 من Apache بواسطة ASF في يناير 2004. تضمنت أهدافها المعلنة تسهيل تطبيق الترخيص على بعض المشاريع غير التابعة لـ ASF. يمكنه تحسين التوافق مع البرامج المستندة إلى GPL. يسمح بإضافة الترخيص حسب المرجع بدلاً من إدراجه في جميع الملفات. كما يوضح الترخيص على المساهمات. فهو يحتاج إلى أي ترخيص براءة اختراع على المساهمات التي تنتهك براءات اختراع المساهمة بالضرورة.

أمن أباتشي

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

قام العديد من مطوري Apache بتعريف Slowloris بعدة وحدات للحد من الضرر الناتج. وحدات مختلفة من أباتشي مثل mod_antiloris، mod_noloris، mod_security، mod_evasive، mod_qos، و mod_limitipconn تم اقتراح كل منها لتقليل احتمالية الهجوم الناجح على Slowloris. يقوم Apache بشحن وحدة mod_reqtimeout كحل تنفيذي يروج له المطورون منذ Apache 2.2.15.

تطوير الأباتشي

إصدارات خادم Apache HTTP

أحدث إصدار الإصدار الأولي إصدار
03-02-2010 (1.2.42) 06-06-1998 1.3
07-10-2013 (2.0.65) 04-06-2002 2.0
07-11-2017 (2.2.34) 01-12-2005 2.2
08-07-2020 (2.4.46) 21-02-2012 2.4

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

المشروع جزء من مؤسسة Apache Software Foundation. شارك الكثير من المستخدمين التعليمات البرمجية والوثائق والأفكار الخاصة بهم في المشروع.
يوفر الإصدار Apache 2.4 الدعم لمنصات Tandem وNeXT وUX/A وTPF وBeOS.