כיצד עובד שרת אינטרנט של אפאצ'י?

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

כתובות אתרים ופרוטוקול HTTP

אפאצ'י היא תוכנת שרת אינטרנט, וככזו מטפלת בעיקר בבקשות פרוטוקול העברת Hypertext באמצעות בקשות כתובת Universal Resource Locator. כתובות אתרים הן פשוט שם אתר שמשתמשים נכנסים לדפדפני האינטרנט על מנת לאתר דף אינטרנט. כאשר המשתמש מזין כתובת אתר, הדפדפן שולח בקשת HTTP למחשב השרת בו פועל אפאצ'י, בדרך כלל ביציאה 80. פרוטוקול HTTP הוא פרוטוקול העברת הנתונים הסטנדרטי באינטרנט לדפי אינטרנט, כך שכאשר משתמש מגיש בקשת URL לאפצ'י שרת, שרת Apache יטפל בבקשת HTTP ויחזיר את דפי האינטרנט המבוקשים.

ריבוי משימות / Multithreading

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

הגשת תכנית וקבצים

לצד דפי אינטרנט, שרת אפאצ'י יכול לאפשר למשתמשים להוריד קבצים למחשבים שלהם, שאפצ'י יטפל בהם גם באמצעות HTTP. אלה כוללים קבצי שמע, קבצי סרטים או מסמכים מסוימים כגון מסמכי Word או PDF. אם המשתמש מבקש קובץ תוכנית עבור שפת סקריפטים, כגון PHP, Python או Perl, אז שרת Apache מבצע את התוכנית ושולח את פלט התוכנית למשתמש באמצעות HTTP. עם זאת, על מנת לעבד בקשות למסמכים המכילים שפות סקריפטים, על שרת האפצ'י להתקין את המודול המתאים לשפה זו.

חבילות אפאצ'י

שרת אפאצ'י מגיע כחבילה עצמאית, כחלק מתוכניות שרת אינטרנט גדולות יותר ומושלמות עם מודולים לשיפור ביצועיו. יישום פופולרי של שרת אפאצ'י הוא מחסנית "LAMP" (לינוקס, אפאצ'י, MySQL ו- PHP / Perl / Python). תצורה זו מארזת את שרת האפצ'י עם יכולות הגשת האינטרנט שלו עם מסד הנתונים MySQL ושפות התסריט כגון PHP על מנת להגיש תוכן מסדי נתונים עבור אתרים מעודכנים כמו בלוגים.