logo

מה זה אפאצ'י?

Apache היא תוכנת קוד פתוח בחינם של שרת אינטרנט המשמשת כ 40% מהאתרים בכל העולם. Apache HTTP Server הוא שמו הרשמי. הוא פותח ומתוחזק על ידי Apache Software Foundation . Apache מאפשר לבעלי האתרים להגיש תוכן דרך האינטרנט. זו הסיבה מדוע זה ידוע בתור ' שרת אינטרנט .' אחת הגרסאות האמינות והישנות ביותר של שרת האינטרנט Apache פורסמה בשנת 1995.

אם מישהו מעוניין לבקר באתר כלשהו, ​​הוא ממלא את שם הדומיין בשורת הכתובת של הדפדפן שלו. שרת האינטרנט יביא את הקבצים המבוקשים על ידי ביצועו כאיש המסירה הוירטואלית.

משמעות שרת האינטרנט

שרתי דואר, שרתי מסד נתונים, שרתי אינטרנט, ו שרתי קבצים להשתמש בסוגים שונים של תוכנות שרת. כל היישומים הללו עשויים לגשת להרבה קבצים שנשמרו בשרת הפיזי ולהחיל אותם למטרות רבות.

מטרת שרתי האינטרנט היא לספק אתרים דרך האינטרנט. הוא מתנהג כמתווך בין מכונות הלקוח והשרתים כדי להשיג מטרה זו. זה יכול למשוך את התוכן דרך השרת על פני כל בקשת משתמש. כמו כן, הוא מספק את הבקשה הזו לאינטרנט.

אחת המשימות הקריטיות ביותר של כל שרת אינטרנט היא לספק שירותים למשתמשים שונים באינטרנט בו-זמנית. שרתי אינטרנט מבצעים קבצים שצוינו בסוג אחר של שפות תכנות כמו Java , פִּיתוֹן , PHP , ורבים אחרים. שרתי אינטרנט הופכים קבצים אלה לקובצי HTML סטטיים. הוא מספק שירותים לקבצים אלה בתוך דפדפן שרת האינטרנט. דפדפן אינטרנט יכול להיות מוגדר ככלי האחראי לתקשורת לקוח-שרת הגונה.

עבודה של Apache

Apache אינו שרת פיזי כלשהו; זו תוכנה שפועלת על השרת. עם זאת, אנו מגדירים אותו כשרת אינטרנט. מטרתו היא לבנות חיבור בין דפדפני המבקרים באתר (Safari, Google Chrome, Firefox וכו') לבין השרת. ניתן להגדיר את אפאצ'י כתוכנה חוצת פלטפורמות, כך שהיא יכולה לעבוד על שרתי Windows ו-UNIX.

חלון.פתח

כאשר מבקר כלשהו מעוניין לטעון דף באתר שלנו, בדף הבית, למשל, או בדף 'אודותינו' שלנו, הדפדפן של המבקר ישלח בקשה בשרת שלנו. Apache תחזיר תגובה יחד עם כל קובץ מבוקש (תמונות, קבצים וכו'). הלקוח והשרת מתקשרים באמצעות פרוטוקול HTTP, ו- Apache אחראי לתקשורת מאובטחת וחלקה בין שני המכונות.

אפאצ'י היא תוכנה ברמה גבוהה ניתן להתאמה אישית . הוא מכיל את המבנה מבוסס המודול. מודולים שונים מאפשרים למנהלי שרתים לכבות ולהפעיל פונקציונליות נוספת. Apache כולל מודולים לאחסון במטמון, אבטחה, אימות סיסמה, שכתוב כתובות אתרים ומטרות אחרות. כמו כן, אנו יכולים להגדיר תצורה משלנו של השרת בעזרת קובץ המכונה .htaccess . זהו קובץ תצורה נתמך של Apache.

tcp לעומת udp

שרתי אינטרנט אחרים לעומת Apache

יש כל כך הרבה שרתי אינטרנט זמינים ששונים מאפצ'י. כל האפליקציות של שרת האינטרנט נבנו עבור סוגים שונים של מטרות. לאפצ'י יש כמה מתחרים וחלופות והיא משמשת בעיקר תוכנה.

אפאצ'י מול NGINX

מה זה אפאצ'י

Nginx מבוטא כ מנוע-X . זהו יישום חדש של שרת אינטרנט ופורסם לראשונה בשנת 2004. Nginx צברה פופולריות בקרב בעלי אתרי האינטרנט. הוא פותח לפתרון בעיית c10k, מה שאומר ששרתי האינטרנט המשתמשים בשרשורים לניהול בקשות שונות של משתמשים אינם מסוגלים לטפל ב-10000+ חיבורים בו-זמנית.

  1. הבעלים של אתרי התנועה הכבדים יכולים להיתקל בבעיות ביצועים מכיוון ש-Apache משתמש במבנה מבוסס חוט. Nginx מגדיר את בעיית c10k שהיא אחת המאושרות ביותר כנראה.
  2. Nginx מכיל ארכיטקטורה מונעת אירועים. זה לא בונה תהליך חדש יותר עבור כל הבקשות. במקום זאת, הוא מנהל את כל הבקשות הנכנסות בשרשור בודד. תהליך זה מטפל בתהליכי עבודה שונים המיישמים את עיבוד הבקשה בפועל. המודל המבוסס על אירועים של Nginx משתף בקשות משתמשים בין טכניקות עובדים בצורה קלה ויעילה ולכן הוא מספק מדרגיות טובה יותר.
  3. Nginx יכולה להיות בחירה טובה יותר מכיוון שהיא יכולה לנהל אתרים בעלי תנועה רבה על ידי שימוש במינימום משאבים. ליתר דיוק, ניתן להשתמש בו על ידי מספר אתרים בעלי חשיפה גבוהה כמו Airbnb, Pinterest, Hulu ו-Netflix.
  4. עם זאת, Apache מספק יתרונות רבים ב-Nginx מכיוון שיש לו תצורה קלה, סביבה ידידותית למתחילים ומודולים שונים עבור שחקנים בינוניים או קטנים.

אפאצ'י נגד טומקאט

מה זה אפאצ'י

Tomcat cab להיות מוגדר כשרת אינטרנט והוא משופר על ידי Apache Software Foundation. לפיכך, Apache Tomcat הוא שמו הרשמי. Tomcat הוא גם שרת HTTP. עם זאת, זה משפר את יישומי Java ולא אתרים סטטיים. שרת אינטרנט זה יכול להפעיל יישומי Java שונים כמו WebSocket, Java EL, JSP (דפי JavaServer), ו Java Servlet .

  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 להפעלת וורדפרס.

יתרונות וחסרונות של אפאצ'י

אפאצ'י יכולה להיות אפשרות מצוינת להפעיל את האתר שלנו בפלטפורמה רב-תכליתית ויציבה. אם כי, זה מגיע עם כמה חסרונות שעלינו להבין.

יתרונות:

  1. תוכנה יציבה ואמינה.
  2. חינם וקוד פתוח, אפילו לשימוש כלכלי.
  3. תיקוני אבטחה רגילים, מתעדכנים לעתים קרובות.
  4. ידידותי למתחילים, קל להגדרה.
  5. גמיש בגלל המבנה המבוסס על מודול.
  6. עובד מתוך קופסה עם אתרי וורדפרס.
  7. חוצה פלטפורמות (מיושם על שרתי Windows ו-Unix).
  8. תמיכה זמינה בקלות וקהילה ענקית בכל מקרה של בעיה.

חסרונות:

  1. בעיות ביצועים שונות באתרים בעלי תנועה כבדה במיוחד.
  2. מספר אפשרויות תצורה עלולות לגרום לרגישות לאבטחה.

גרסאות של אפאצ'י

גרסה 1.1

גרסה זו של Apache אושרה בשנת 2000 על ידי ה-ASF. השינוי העיקרי הוא במסגרת 'סעיף הפרסום' מרישיון 1.0. אין עוד צורך במוצר הנגזר של 'סעיף פרסום' כדי לכלול היבטים של חומרי הפרסום (בתיעוד בלבד).

גרסה 2.0

גרסה 2.0 של Apache אומצה על ידי ה-ASF בינואר 2004. המטרות המוצהרות שלה כללו יצירת רישיון קל ליישום של כמה פרויקטים שאינם ASF. זה יכול לשפר את התאימות לתוכנה מבוססת GPL. זה מאפשר להוסיף את הרישיון על ידי הפניה במקום לרשום בכל הקבצים. זה גם מבהיר את הרישיון על פני תרומות. הוא צריך כל רישיון פטנט על פני תרומות המפרות את הפטנטים של התרומה בהכרח.

אבטחת אפאצ'י

כמו שרתי אינטרנט אחרים, ניתן לנצל ולפרוץ את אפאצ'י. כלי ההתקפה העיקרי של אפאצ'י הוא Slowloris. Slowloris יכולה לנצל את הבאגים בתוכנת Apache. הוא יכול לבנות מספר שקעים ושומר על כל השקעים הללו בחיים ושולח בתים שונים (הנקראים 'קייפ-alive headers') כדי ליידע את השרת שהמערכת מחוברת ואינה מתמודדת עם בעיות רשת.

שם עיר בארה"ב

מפתחים רבים של Apache הגדירו את Slowloris עם מספר מודולים להגבלת הנזק שנגרם. מודולים שונים של אפאצ'י כגון mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, ו mod_limitipconn כל אחד מהם הוצע לצמצם את האפשרות להתקפה מוצלחת של סלולוריס. Apache שולחת את מודול mod_reqtimeout כפתרון המנהלים שמקודם על ידי המפתחים מאז Apache 2.2.15.

פיתוח אפאצ'י

גרסאות Apache HTTP Server

המהדורה האחרונה שיחרור ראשוני גִרְסָה
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. הרבה משתמשים שיתפו את הקוד, התיעוד והרעיונות שלהם לפרויקט.
גרסת Apache 2.4 מספקת תמיכה עבור פלטפורמות Tandem, NeXT, UX/A, TPF ו-BeOS.