Apache HTTP Server

Apache HTTP Server הוא תוכנת השרת HTTP הנפוצה בעולם. שרת האפאצ'י הוא אחד ממוצרי הדגל המוקדמים של קהילת הקוד הפתוח. עיצובו המודולרי מאפשר רמה גבוהה של התאמה לצורכי כל אתר אינטרנט. אפאצ'י תומך במגוון רחב של הרחבות ("מודולים") ועיצובו ידידותי למפתח ולמנהל האתר. שרת האפאצ'י מסוגל לפעול על מערכות הפעלה רבות. לעיתים קרובות, משמש אפאצ'י שרת פרוקסי קדמי, כלומר שרת המקבל בקשות ממשתמשים ומעביר אותן הלאה, אל שרתי יישום שונים, שבהם מיושם האתר עצמו. Apache HTTP Server מפותח ומתוחזק על ידי קהילת מפתחים של מוסד התוכנה אפאצ'י, ומופץ תחת רישיון אפאצ'י. שרת הרשת של אפאצ'י נוצר במקור על ידי רוב מקול (McCool), שפעל במסגרת המרכז הבינלאומי לשרתי רשת בשביל מחשבי על, הידוע בשם NCSA HTTPd. כאשר עזב מקול את NCSA באמצע שנת 1994, פיתוח ה-HTTPd נעצר. פיתוח האפאצ'י בענף 1.X התבסס על מוצר זה ועל טלאי תוכנה שהתקבלו מאנשים נוספים. בענף 2.X נכתב כל הקוד מחדש, ואינו מכיל יותר חלקי קוד מה־HTTPd. הכותב טען שהשם נבחר בגלל היותו שם קליט. פירוש נפוץ הוא שהשם בא מהעובדה שבתקופה שבה הוא פותח, תחילת 1995, הוא הורכב משינויים בקוד של שרת ה-HTTP הפופולרי של אז, NCSA HTTPd 1.3. תיקונים וטלאים נקראים באנגלית Patch, ובכך Apache נשמע קצת כמו A Patch. למרות העובדה הנ"ל, בסעיף שאלות נפוצות שבאתר הרשמי של אפאצ'י נכתב שהשם Apache נבחר מתוך כבוד לשבט האינדיאני יליד אמריקה – אפאצ'י, ש”נודע היטב בזכות המיומנויות הנעלות באסטרטגיות לחימה וסבלנותם הבלתי נדלית”. בראשית פיתוחו, אפאצ'י היה מוצר הקוד הפתוח היחיד שהיווה תחליף לשרת של נטסקייפ. לאחר מכן, אפאצ'י הפך להיות מתחרה של כמה שרתי HTTP מבוססי UNIX בתחומים של תפקודיות וביצועים. מאפריל 1996, הפך אפאצ'י לשרת אינטרנט הפופולרי ביותר באינטרנט. עד למאי 1999, אפאצ'י הפעיל כ־57% מכלל האתרים שברשת. הפופולריות של אפאצ'י המשיכה לעלות ובפברואר 2006 אפאצ'י שירת כבר 68% מכלל האתרים). מתחריו העיקריים של האפאצ'י הם שרת ה־IIS מבית מיקרוסופט (Internet Information Services), אחריו שרת ה-Java של Sun וכמה שרתים אחרים כמו Zeus. החל מ-2004 המתחרה החדש Nginx צבר פופולריות ונכון לאוגוסט 2011 כעשירית מהאתרים באינטרנט משתמשים בו. הגרסה השנייה של שרת אפאצ'י, נכתבה מאפס ולכן היא לא מכילה קוד מ-NCSA. הליבה של אפאצ'י 2.x עדיפה על אפאצ'י 1.x. השיפורים הכלולים בגרסה 2.x של אפאצ'י הם, UNIX threading, תמיכה טובה יותר למערכות שהן לא UNIX (כמו Windows), ממשק תכנותי חדש, ותמיכה ב-IPv6. גרסה 2.2 מכילה ממשק תכנותי חדש הנותן גמישות יותר גבוהה. בנוסף, הגרסה החדשה הציגה מודול מטמון ומודל פרוקסי חדשים. רישוי התוכנה שאיתו מופצות התוכנות של מוסד התוכנה אפאצ'י ובכללן שרת זה, הוא רישיון ייחודי הנקרא רישיון אפאצ'י. הרישיון של אפאצ'י שונה מרישיונות אחרים בכך שהוא מאפשר הפצה של קוד עם התניות שנלוה לקוד ללא אותן התניות. על כן, המוסד לתוכנה חופשית לא מחשיב את הרישיון של אפאצ'י כתואם לרישיון ה-GPL. לדבריו, הרישיון של אפאצ'י לא תואם ל-GPL משום שהוא מאפשר מצבים שאינם מתאפשרים ברישיון ה-GPL. לדוגמה, הרישיון מאפשר להפיץ קוד שמוגן בפטנט, דבר שאינו מתאפשר ברישיון ה-GPL. משמעות הדבר היא שהתוכנות שרשומות תחת הרישיון של אפאצ'י, לא יכולות להשתלב עם תוכנות שמופצות תחת רישיון ה-GPL. אפאצ'י משמש בעיקר כמגיש תכנים סטטיים ודינמיים ברשת הכלל עולמית. רבים מיישומי האינטרנט בנויים במטרה לעבוד עם המאפיינים של אפאצ'י תחת סביבת העבודה שאפאצ'י מציע. אפאצ'י הוא רכיב שרת הרשת בחבילת יישומי שרתי הרשת הפופולרית הנקראת LAMP (שמשמעותה: Linux, אפאצ'י, Python/PHP/Perl, ‏MySQL ). אפאצ'י הוא שרת הווב הסטנדרטי של רוב הפצות לינוקס. אפאצ'י נכלל גם במספר רב תוכנות קנייניות, לדוגמה: מסד הנתונים Oracle או IBM WebSphere application server‏. Mac OS X משלבת את אפאצ'י כשרת מובנה בה. מתכנתים המפתחים יישומי רשת, משתמשים לפעמים בגרסה מקומית של אפאצ'י (הכוונה שרק הם יכולים להשתמש בה ולא כל מי שגולש באינטרנט) כדי להציג ולבחון את הקוד כשהוא עוד בפיתוח. תוכנת XAMPP מאפשרת להתקין שרת אפאצ'י מקומי במערכות הפעלה נפוצות: ווינדווס, לינוקס ומק. אפאצ'י תומך במגוון רחב של רכיבים, רבים מהם מסופקים כמודולים מקומפלים אשר מרחיבים את תפקודיות הליבה (מרכז התוכנה). להלן כמה ממודולי (רכיבי) אפאצ'י: מודולי הזדהות ובקרת גישה פופולריים כמו: mod_access, mod_auth ו-mod_digest, ה-SSL (הנמצאים במודול mod_ssl), מודול proxy, משכתב כתובות אינטרנט, URL rewriter (הידוע גם כמנוע שכתוב, מיושם ב-mod_rewrite), קובצי יומן מותאמים אישית (mod_log_config), ומסננים (mod_include ו-mod_ext_filter). קובצי היומן של אפאצ'י ניתנים לניתוח דרך דפדפן בשימוש קודים חופשיים כמו AWStats או Visitors. מדיה וקבצים בנושא Apache HTTP Server בוויקישיתוף אתר האינטרנט הרשמי של Apache HTTP Server (באנגלית) עמוד הבית הרשמי של Apache התכונות החדשות בין גרסאות נמצאת בסעיף Release Notes שבראש העמודה השמאלית. ליאור קפלן, Apache כשרת Web תוך נגיעה בנושא ההתקנה, תפעול, הגדרות ומודולי הרחבה (עמ' 6), באתר מדריך הטרמיפסט למחשבים, נכתב על גרסה 2.2, , ‏עודכן ב 01.03.2009 Netcraft Web Server Survey, February 2006 סקר המרשתת של אוגוסט 2011 של חברת Netcraft