Интернет съществува като колекция от уеб сървъри, които хостват уеб страници, до които потребителите имат достъп от своите компютри. Тези сървъри трябва да изпълняват сървърния софтуер за обработка на потребителски заявки. Един такъв софтуерен пакет, уеб сървърът Apache, предлага безплатно сървърно решение за разработчици, от което да хостват уеб страници. Като такъв той се превърна в популярна програма за хостинг на уебсайтове. Сървърът Apache работи, като обработва заявки за URL към сървъра чрез специфични комуникационни протоколи по многопоточен начин и се разширява за работа с езици за програмиране и бази данни.
URL адреси и HTTP протокол
Apache е софтуер за уеб сървър и като такъв обработва предимно заявки за протокол за прехвърляне на хипертекст чрез заявки за адреси на Universal Resource Locator. URL адресите са просто името на уебсайт, който потребителите влизат в уеб браузъри, за да намерят уеб страница. Когато потребителят въведе URL, браузърът изпраща HTTP заявка до сървърния компютър, работещ с Apache, обикновено на порт 80. HTTP протоколът е стандартният протокол за интернет трансфер на данни за уеб страници, така че когато потребител прави заявка за URL към Apache сървър, сървърът Apache ще обработи HTTP заявката и ще върне заявените уеб страници.
Многозадачност / многопоточност
Сървърът на 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 с неговите възможности за уеб обслужване с базата данни MySQL и скриптовите езици като PHP, за да обслужва съдържанието на базата данни за актуализирани уебсайтове като блогове.