Apache

Was ist Apache?

Apache ist ein Open Source Webserver der Apache Software Foundation, welcher kostenfrei downloadbar und quellfrei ist. Da er plattformübergreifend verwendet werden kann, zählt Apache zu den beliebtesten und meistverwendeten Servern überhaupt. Apache kann sowohl auf Linux und Windows als auch auf macOS ausgeführt werden. Laut verschiedenen Studien wird Apache von etwa 50 % aller Websites weltweit genutzt.

Genau genommen ist Apache kein physischer Webserver, sondern eine Software, welche auf dem Server ausgeführt wird. Diese wurde primär zur Auslieferung von Websites veröffentlicht, ist mithilfe verschiedenen Modulen aber auch stark erweiterbar. Apache wird häufig auch als Server für das Intranet und andere Arbeitsbereiche eingesetzt.

Mit seiner Veröffentlichung im Jahre 1995 zählt Apache außerdem zu einem der ältesten Webserver überhaupt. Während der Entstehung des World Wide Web spielte Apache eine wichtige Rolle. Apache wird unter anderem auch von großen Unternehmen wie eBay, Facebook, LinkedIn oder Adobe verwendet.

Wie funktioniert Apache?

Apache funktioniert wie ein gewöhnlicher Webserver und basiert auf dem HTTP-Protokoll, welches wiederum das Transportprotokoll TCP/IP verwendet. Wenn eine Besucheranfrage eines Browsers auf einer Website erscheint, nimmt der Webserver diese an und sendet eine Antwort zurück. Die Antwort besteht aus den Dateien bzw. Komponenten, die es benötigt, um die Website darzustellen. Die zahlreichen Dateien wie z.B. der HTML-Code, der CSS-Code, Bilder, Videos etc. werden von der zugehörigen Datenbank bzw. dem CMS abgerufen und mithilfe einer Skriptsprache wie z.B. PHP miteinander verbunden und anschließend als Website dargestellt.

Neben seiner eigentlichen Funktion kann Apache mit vielen Modulen erweitert werden. Auf diese Weise wird mit Apache unter anderem auch Multithreading, Passwortauthentifizierungen, individualisierte Fehlermeldungen, digitale Zertifikate, Proxy-Dienste und SSL bzw. TLS-Komprimierungen möglich.

Apache in der Webentwicklung

Apache eignet sich ideal für die Erstellung dynamischer Websites. Durch die anpassbaren Module wird Apache äußerst vielseitig, was eine gute Grundlage bietet. Ein Problem hat Apache aber mit der Höhe der Traffic-Anfragen. Mit kleinen Websites kommt der Server perfekt zurecht, bei tausenden gleichzeitigen Anfragen bekommt Apache jedoch Probleme. Der Grund dafür liegt in der Verarbeitungsweise der Anfragen. Jede dieser Verbindungen wird einzeln prozessiert, was zu einem hohen Arbeitsspeicherverbrauch führt. Daher wird Apache im Bereich der Webentwicklung primär für kleine oder mittlere Seiten genutzt.

Der Gegenpart zu Apache ist der Webserver nginx. Dieser kommt zwar besser mit einer hohen Anfrage zurecht, kann dafür aber allein keine dynamischen Webinhalte ausliefern. Oftmals werden die beiden Webserver auch zusammen verwendet, um die jeweiligen Schwächen auszugleichen.