Blog > Wie arbeitet ein Webserver?

Wie arbeitet ein Webserver?

Um korrekt mit PHP und Co. arbeiten zu können, muss man das Grundprinzip verstanden haben, nachdem der Austausch von Daten zwischen dem Server und dem Computer funktioniert.

Wenn du gerade diese Seite zum Beispiel aufgerufen hast, sendet dein Browser, also das Programm mit dem du im Internet surfst, eine Abfrage an den Webserver/Server. Als erstes wird die Domain oder auch Website Adresse aufgelöst. Dies geschieht mithilfe des DNS-Servers (Domain Name System). Man kann sich dieses vorstellen wie ein Addressbuch. Zu jeder Domain wie zum Beispiel https://www.students-blog.de/blog.php weiß es die passende IP Adresse wie zum Beispiel 123.4.5.67/blog.php, denn ein Server hat nur eine IP Adresse und keine Domain. (Die IP Adresse ist selbstverständlich nicht echt)

Wenn nun also die Domain aufgelöst und die Abfrage beim Server angekommen ist, sucht dieser nach der abgefragten Datei. Sofern PHP (oder eine andere Programmiersprache) auf dem Server installiert ist, überprüft der Server noch die Dateiendung. Falls diese (im Fall von PHP) XX.php ist, durchsucht der Server noch die Datei nach PHP Code und sendet schließlich nur den HTML Code und das Ergebnis des PHP Skriptes an den Computer zurück.

Beim Zurücksenden an den Computer wird neben dem HTML Code oder einer anderen Datei auch noch der HTTP-Header mitgesendet. Dieser ist für den Benutzer normalerweise unsichtbar und enthält Informationen über die gesendete Datei. So könnte der der HTTP-Header beim Aufrufen der Seite https://www.students-blog.de/blog.php?id=5 zum Beispiel so aussehen:

HTTP/1.1 301 Moved Permanently                                        // Das Protokoll bzw. die Art wie dein Computer die Datei abgefragt hat
Server: nginx                                                                          // Das Betriebssystem bzw. die Software die auf dem Server Abfragen verarbeitet
Date: Sun, 07 Oct 2018 08:25:30 GMT                                  // Die Zeit, wo die Datei vom Server gesendet wurde
Content-Type: text/html                                                          // Information für den Browser, was für einen Typ von Datei er erwarten kann
Content-Length: 178                                                              // Länge der Datei (in Bytes)
Connection: close                                                                  // Art der Verbindung
Location: https://www.students-blog.de/blog.php?id=5         // Die Seite auf der sich der Browser nun befindet

Durch das Vorstellen des Prozesses wird es, so hoffe ich zumindest, einfacher, den Unterschied zwischen serverseitigen und clientseitigen Sprachen zu verstehen.




Kommentare

Zum Schreiben von Kommentaren bitte einloggen oder registrieren.