Apache2 Geschichte

Aus Xinux Wiki
Version vom 16. März 2025, 07:29 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Entstehung des WWW

  • Im Jahr 1991 war das Internet bereits fast 20 Jahre alt, aber der Abruf von Informationen war kompliziert.
  • Wissenschaftliche Arbeiten wurden meist als Text- oder PostScript-Dateien auf FTP-Servern abgelegt.
  • Tim Berners-Lee, Physiker am CERN in Genf, entwickelte HTTP (Hypertext Transfer Protocol) und HTML (Hypertext Markup Language), um den Austausch von Informationen zwischen unterschiedlichen Rechnerarchitekturen zu erleichtern.
  • Er programmierte den ersten Webserver und den ersten Webbrowser, den er „WorldWideWeb“ nannte.
  • Das WWW ermöglichte erstmals die plattformunabhängige Veröffentlichung und Betrachtung wissenschaftlicher Arbeiten mit Text und Bildern.

Verbreitung des WWW

  • Das ursprüngliche Nextstep-Betriebssystem, auf dem das WWW entwickelt wurde, war wenig verbreitet.
  • Der Erfolg des WWW begann erst mit der Portierung von Webservern und Browsern auf Unix und später auf Windows.
  • Das NCSA (National Center for Supercomputer Applications) entwickelte den ersten HTTP-Server „NCSA httpd“ und den ersten Webbrowser „NCSA Mosaic“ für das UNIX X-Window-System und später für Windows.
  • NCSA Mosaic ermöglichte erstmals, dass Benutzer ohne tiefgehende Computerkenntnisse Informationen aus dem Internet abrufen konnten.
  • Dies führte in den 1990er Jahren zu einem explosionsartigen Wachstum des WWW.

Entwicklung des Apache-Webservers

  • Mitte 1994 verließ der Chefentwickler des NCSA httpd das NCSA, wodurch die Weiterentwicklung des Servers ins Stocken geriet.
  • Da der Quellcode verfügbar war, entwickelten Programmierer eigene Erweiterungen zu NCSA httpd.
  • Diese nannten ihren Server scherzhaft „a patchy server“ – daraus entstand der Name „Apache“.
  • 1995 schlossen sich einige dieser Entwickler zur Apache-Group zusammen, um ihre Entwicklungen zu koordinieren.
  • Im April 1995 wurde die erste Version des Apache HTTP-Servers veröffentlicht.
  • Apache wurde schnell populär und erreichte einen Marktanteil von über 50 % aller HTTP-Server.
  • Apache ist quelloffen und darf kostenlos, auch kommerziell, genutzt werden.
  • Seine Schnelligkeit, Flexibilität und Stabilität machten ihn zum meistgenutzten Webserver weltweit.

Aufbau des HTTP-Protokolls

  • Ein HTTP-Server wartet standardmäßig auf Port 80 (TCP) auf eingehende Verbindungen.
  • Er empfängt HTTP-Anfragen und beantwortet sie entsprechend mit der gewünschten Ressource.
  • Nach der Übertragung der Ressource wird die Verbindung normalerweise beendet.

Beispiel einer HTTP-Anfrage

  • Ein HTTP-Server kann mit Telnet getestet werden.
  • Verbindungsaufbau zu einem Webserver über Telnet:
pate:~/ telnet www.xinux.de 80
  • Ausgabe:
Trying 85.10.194.199...
Connected to neelix.talaxia.de.
Escape character is '^]'.
GET /
  • Die Anfrage „GET /“ fordert die Ressource „/“ mit HTTP/0.9 an, der ältesten Version des HTTP-Protokolls.
  • Die Antwort enthält die HTML-Seite der angeforderten Ressource.
  • Telnet eignet sich nicht zum „Surfen“, aber zur Fehlersuche und Überprüfung eines Webservers.

Versionen des HTTP-Protokolls

  • HTTP/0.9:
    • Erste Version des Protokolls.
    • Ermöglicht nur einfache GET-Anfragen ohne weitere Header.
    • Antwort des Servers enthält nur die reine HTML-Seite.
  • HTTP/1.0:
    • Erweiterung um zusätzliche Header.
    • Ermöglicht die Angabe des gewünschten Hosts für virtuelle Webserver.
    • Beispiel einer HTTP/1.0-Anfrage:
pate:/etc/apache2# telnet www.xinux.de 80
Trying 85.10.194.199...
Connected to neelix.talaxia.de.
Escape character is '^]'.
GET / HTTP/1.0
  • HTTP/1.1:
    • Ermöglicht beständige Verbindungen (Keep-Alive).
    • Mehrere Anfragen können über eine einzige Verbindung abgewickelt werden.
    • Erhöht die Geschwindigkeit beim Laden von Webseiten mit vielen Einzelelementen.
    • Beispiel einer HTTP/1.1-Server-Antwort:
HTTP/1.1  200 OK
Date: Tue, 25 Oct 2005 09:32:32 GMT
Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-15 mod_ssl/2.0.54 OpenSSL/0.9.7e
Last-Modified: Wed, 26 May 2004 22:00:00 GMT
ETag: "f10056-2924-fee39800"
Accept-Ranges: bytes
Content-Length: 10532
Connection: close
Content-Type: text/html
  • Die Antwort enthält:
    • Den Statuscode (200 OK).
    • Datum und Serverinformationen.
    • Angaben zur letzten Änderung und zur Größe der Datei.
    • Den MIME-Type (Content-Type).

Zusammenfassung

  • Tim Berners-Lee erfand HTTP und HTML, um den Informationsaustausch im Internet zu erleichtern.
  • Das WWW verbreitete sich rasant mit der Entwicklung von Browsern für Unix und Windows.
  • Der Apache-Webserver entstand aus der Weiterentwicklung des NCSA httpd und wurde zum dominierenden Webserver.
  • HTTP hat sich von der einfachen Version 0.9 über 1.0 bis hin zu 1.1 mit wichtigen Verbesserungen entwickelt.
  • Moderne Webserver unterstützen mehrere Versionen des HTTP-Protokolls und ermöglichen effiziente Datenübertragung.