Die meisten Menschen stellen sich einen Webserver als eine magische Blackbox vor, die Seiten aus dem Nichts heraufbeschwört. Das ist es nicht. Im Kern ist der Job überraschend banal. Ein Webserver ruft eine Datei von einer Festplatte ab und schiebt sie an Ihren Browser weiter. Das ist es. Einfach. Direkt.
Lassen Sie uns verfolgen, was passiert, wenn Sie eine URL in die Adressleiste eingeben. Stellen Sie sich vor, Sie geben „http://www.bygpub.com/books/tg2rw/author.htm“ ein. Der Server erhält eine Anfrage für den spezifischen Pfad „/books/tg2rw/author.htm“. Wenn Sie einen Blick in die Konfiguration des Servers werfen könnten, würden Sie ein beim Setup definiertes Stammverzeichnis sehen, etwa „c:\Eigene Dateien\www“. Der Server sucht nicht auf der gesamten Festplatte nach „/books/tg2rw/author.htm“. Es sucht nach diesem Pfad relativ zum Stammverzeichnis. Es kombiniert also die beiden: „c:\Eigene Dateien\www“ + „/books/tg2rw/author.htm“. Es findet die Datei. Es sendet es. Erledigt.
Aber was passiert, wenn die URL mit einem Schrägstrich endet? Wie „http://www.bygpub.com/books/tg2rw/“?
Der Server versteht dies als Verzeichnisanforderung und nicht als Dateianforderung. Für die Bereitstellung ist eine Standarddatei erforderlich. Es errät nicht zufällig. Es folgt einer strengen Hierarchie. Es sucht nach „index.html“. Wenn das fehlt, wird es mit „index.htm“ versucht. Wenn dies fehlschlägt, wird nach „default.html“ gesucht. Schließlich wird „default.htm“ ausprobiert. Die genaue Liste hängt von der Serversoftware ab, die Logik ist jedoch konsistent. Der Server wandelt die Verzeichnis-URL stillschweigend in eine Datei-URL um und hängt die erste gefundene Übereinstimmung an. Diese Verzeichnisanforderung wird also zu „http://www.bygpub.com/books/tg2rw/index.htm“. Sie sehen nie, dass sich der Dateiname ändert. Sie sehen nur, wie die Seite geladen wird. Für jede andere Datei in diesem Verzeichnis müssen Sie sie explizit benennen. Dies ist die Grundlage für den Umgang mit statischen Dateien.
Jenseits statischer Dateien: Die Rolle von CGI
Statische Dateien sind nur die halbe Wahrheit. Die meisten modernen Webserver verarbeiten auch dynamische Dateien. Sie erstellen diese Seiten nicht spontan von Grund auf; Sie übergeben die Anfrage an ein externes Programm. Dieser Mechanismus wird Common Gateway Interface oder CGI genannt.
Sie haben CGI unzählige Male verwendet, ohne es zu merken. Es ist der Motor hinter jeder Webseite, der sich basierend auf Ihren Eingaben ändert. Betrachten Sie diese Beispiele:
-
Gästebücher : Sie geben eine Nachricht in ein HTML-Formular ein. Der Server sendet nicht einfach eine vorgefertigte Seite. Es führt ein Skript aus, das Ihren Text an eine Datenbank oder Datei anhängt und dann eine neue Seite mit Ihrem Eintrag generiert.
-
WHOIS-Suchen : Sie geben einen Domainnamen in ein Formular ein. Die Seite, die Sie zurückerhalten, hängt vollständig von der von Ihnen eingegebenen Domain ab. Der Server stellt keine statische Datei bereit; Es fordert ein Programm auf, Live-Daten abzurufen.
-
Suchmaschinen : Sie geben Schlüsselwörter ein. Der Server führt eine Abfrage aus, scannt Indizes und erstellt dynamisch eine Ergebnisseite, die auf Ihre Suche zugeschnitten ist.
Alle diese Interaktionen basieren auf CGI. Der Webserver fungiert als Dispatcher, leitet die Formulardaten des Benutzers an ein Programm weiter und sendet die Ausgabe des Programms dann zurück an Ihren Browser. Diese Trennung ermöglicht es Servern, komplexe Logik zu verarbeiten, ohne sich darin zu verzetteln



























