Το Διαδίκτυο υπάρχει ως μια συλλογή διακομιστών Web που φιλοξενούν ιστοσελίδες στις οποίες έχουν πρόσβαση οι χρήστες από τους υπολογιστές τους. Αυτοί οι διακομιστές πρέπει να εκτελούν λογισμικό διακομιστή για τον χειρισμό αιτημάτων χρήστη. Ένα τέτοιο πακέτο λογισμικού, ο διακομιστής Web Apache, προσφέρει μια δωρεάν λύση διακομιστή στους προγραμματιστές για τη φιλοξενία ιστοσελίδων από. Ως εκ τούτου, έχει γίνει ένα δημοφιλές πρόγραμμα για τη φιλοξενία ιστοσελίδων. Ο διακομιστής Apache λειτουργεί με το χειρισμό αιτημάτων διευθύνσεων URL στον διακομιστή μέσω συγκεκριμένων πρωτοκόλλων επικοινωνίας με τρόπο πολλαπλών νημάτων και επεκτείνεται ώστε να λειτουργεί με γλώσσες προγραμματισμού και βάσης δεδομένων.
Διευθύνσεις URL και πρωτόκολλο HTTP
Το Apache είναι λογισμικό διακομιστή ιστού και ως εκ τούτου χειρίζεται κυρίως αιτήματα πρωτοκόλλου μεταφοράς υπερκειμένου μέσω αιτημάτων διευθύνσεων Universal Resource Locator. Οι διευθύνσεις URL είναι απλώς το όνομα ενός ιστότοπου στον οποίο οι χρήστες εισέρχονται σε προγράμματα περιήγησης στο Web για να εντοπίσουν μια ιστοσελίδα. Όταν ο χρήστης εισάγει μια διεύθυνση URL, το πρόγραμμα περιήγησης στέλνει ένα αίτημα HTTP στον υπολογιστή διακομιστή που εκτελεί Apache, συνήθως στη θύρα 80. Το πρωτόκολλο HTTP είναι το τυπικό πρωτόκολλο μεταφοράς δεδομένων Διαδικτύου για ιστοσελίδες, οπότε όταν ένας χρήστης υποβάλλει αίτημα διεύθυνσης URL σε έναν Apache διακομιστή, ο διακομιστής Apache θα χειριστεί το αίτημα HTTP και θα επιστρέψει τις ζητούμενες ιστοσελίδες.
Multitasking / Multithreading
Ένας διακομιστής Apache θα χειρίζεται πολλές αιτήσεις HTTP ταυτόχρονα. Για να γίνει αυτό, ο διακομιστής πρέπει να εκτελείται σε πολλά "νήματα" εκτέλεσης. Ένα νήμα είναι ένα μέρος ενός προγράμματος που διαχωρίζεται από το κύριο πρόγραμμα και εκτελείται ταυτόχρονα για την ολοκλήρωση μιας συγκεκριμένης εργασίας. Ο διακομιστής Apache θα δημιουργήσει ένα νέο νήμα για κάθε αίτημα HTTP που θα χειριστεί τη λήψη και την επιστροφή της ζητούμενης ιστοσελίδας. Αυτό επιτρέπει στο Apache να εξυπηρετεί ιστοσελίδες σε πολλούς χρήστες ταυτόχρονα.
Πρόγραμμα και υπηρεσία αρχείων
Μαζί με τις ιστοσελίδες, ο διακομιστής Apache μπορεί να επιτρέπει στους χρήστες να κατεβάζουν αρχεία στους υπολογιστές τους, τα οποία ο Apache θα χειριστεί επίσης μέσω HTTP. Αυτά περιλαμβάνουν αρχεία ήχου, αρχεία ταινιών ή ορισμένα έγγραφα, όπως έγγραφα του Word ή PDF. Εάν ο χρήστης ζητήσει ένα αρχείο προγράμματος για μια γλώσσα δέσμης ενεργειών, όπως PHP, Python ή Perl, τότε ο διακομιστής Apache εκτελεί το πρόγραμμα και στέλνει την έξοδο του προγράμματος στον χρήστη μέσω HTTP. Ωστόσο, για την επεξεργασία αιτημάτων για έγγραφα που περιέχουν γλώσσες δέσμης ενεργειών, ο διακομιστής Apache πρέπει να έχει εγκαταστήσει την κατάλληλη λειτουργική μονάδα για αυτήν τη γλώσσα.
Πακέτα Apache
Ο διακομιστής Apache έρχεται ως αυτόνομο πακέτο, ως μέρος μεγαλύτερων προγραμμάτων εξυπηρέτησης ιστού και συμπληρώνεται με λειτουργικές μονάδες για την ενίσχυση της απόδοσής του. Μια δημοφιλής εφαρμογή του διακομιστή Apache είναι η στοίβα "LAMP" (Linux, Apache, MySQL και PHP / Perl / Python). Αυτή η διαμόρφωση συσκευάζει τον διακομιστή Apache με τις δυνατότητες Web-service με τη βάση δεδομένων MySQL και γλώσσες δέσμης ενεργειών όπως η PHP, προκειμένου να εξυπηρετεί περιεχόμενο βάσης δεδομένων για ενημερωμένους ιστότοπους, όπως ιστολόγια.