Was ist ein Webserver? Einfach erklärt für Laien

 

Wer seine Fotos ins Netz stellt, legt sie am Ende auf einen Rechner, den er nie zu Gesicht bekommt. Auf diesem Rechner läuft ein Programm, das den ganzen Tag nichts anderes tut, als auf Anfragen zu warten und Dateien herauszugeben: der Webserver. Für Sie als Betreiber einer Bildergalerie ist er so etwas wie der Pförtner Ihres Webspace. Er entscheidet bei jeder Anfrage, ob er eine Datei einfach herausgibt, ob er sie erst an ein Programm weiterreicht, das daraus eine Seite baut, oder ob er die Tür ganz zu lässt.

Webserver einfach erklärt: Ein Browserfenster schickt eine Anfrage an einen Server und bekommt Seite, Bild und Dateien zurück

Ein Galeriebesuch aus Sicht des Webservers

Angenommen, Ihre Tante öffnet auf dem Handy die Adresse Ihrer Galerie, etwa www.beispiel-fotos.de/galerie/. Bis das erste Foto erscheint, laufen mehrere Schritte in fester Reihenfolge ab:

  1. Noch bevor der Webserver etwas davon merkt, erfragt das Handy per DNS die IP-Adresse zum Namen und merkt sie sich eine Weile.
  2. Es baut eine verschlüsselte Verbindung zu dieser Adresse auf, bei https über Port 443.
  3. Es schickt die eigentliche Bitte, sinngemäß „gib mir /galerie/bildergalerie.php“, dazu Angaben wie Browsertyp und Sprache.
  4. Der Webserver sucht die passende Datei im Verzeichnis Ihrer Domain und entscheidet, was damit geschieht.
  5. Er antwortet mit einem Statuscode, etwa 200 für „bitte sehr“, 404 für „gibt es nicht“ oder 403 für „verboten“, und dahinter dem Inhalt.

Danach liest der Browser das HTML und stellt fest, dass er noch Stylesheets, Skripte und Bilder braucht. Für jede dieser Dateien wiederholt er die Schritte drei bis fünf, meist über die schon offene Verbindung. Eine einzige Galerieseite besteht deshalb aus Dutzenden kurzer Wechselgespräche nach den Regeln von HTTP.

Rechner oder Programm: zwei Bedeutungen eines Worts

Das Wort Webserver steht für zwei Dinge, und in Angeboten von Webhostern geht das gern durcheinander. Mal ist der Rechner im Rechenzentrum gemeint, mal die Software, die darauf die Anfragen beantwortet. Den Rechner teilen Sie beim üblichen Webspace mit vielen anderen Kunden, Sie sehen davon nur Ihren eigenen Ordner. Für Ihre Galerie ist deshalb die Software die wichtigere Hälfte, denn sie bestimmt, welche Konfigurationsdateien wirken und wie Fehler aussehen. Beim Webspace begegnen Ihnen vor allem drei Programme:

ServerprogrammWo Sie ihm begegnenWas das für Ihre Galerie heißt
Apachebei den meisten Webhostern mit geteiltem Webspacewertet .htaccess-Dateien in jedem Ordner aus, sofern der Anbieter das mit AllowOverride erlaubt, was auf Webspace üblich ist
nginxhäufig auf gemieteten eigenen Servern, manchmal als Vorposten vor Apacheübergeht .htaccess vollständig, Sperren gehören in die Serverkonfiguration
LiteSpeedbei einigen günstigen Webhosternversteht .htaccess wie Apache

Welche Software bei Ihnen läuft, verrät manchmal schon die Fehlerseite einer falschen Adresse. Sicherer ist ein Blick in die Entwicklerwerkzeuge des Browsers: Unter „Netzwerk“ steht bei vielen Antworten eine Kopfzeile „Server“. Manche Anbieter blenden sie aus Sicherheitsgründen aus, dann hilft eine kurze Frage an den Support oder die Leistungsbeschreibung Ihres Tarifs.

Einen Webserver auf einem alten Laptop zu Hause zu betreiben, ist zum Ausprobieren lehrreich, für eine öffentliche Galerie aber ungeeignet: Private Anschlüsse wechseln oft die IP-Adresse, und der Upload, über den Ihre Besucher die Fotos bekommen, ist meist nur ein Bruchteil des Downloads. Fast alle Galeriebetreiber mieten deshalb gewöhnlichen Webspace, auf dem der Anbieter die Serversoftware pflegt. Ein eigener Root-Server lohnt sich erst, wenn Sie Einstellungen brauchen, die Ihr Tarif nicht freigibt, und Sie bereit sind, Updates und Fehlerprotokolle selbst im Blick zu behalten.

Fertige Datei oder frisch gebaute Seite

Ein Webserver erledigt zwei sehr verschiedene Arten von Arbeit. Liegt eine Datei fertig auf der Platte, ein JPEG, ein Stylesheet, eine HTML-Datei, liest er sie und schickt sie los. Das kostet kaum Rechenzeit und gelingt auch auf einfachem Webspace sehr schnell. Endet der Pfad dagegen auf .php, gibt er die Anfrage an PHP weiter und wartet, bis er fertiges HTML zurückbekommt. Erst das macht eine Galerie mit Verwaltung möglich: PHP fragt die Datenbank, welche Fotos in der Kategorie liegen, setzt Namen und Beschreibungen ein und baut daraus eine Seite, die so in keiner Datei steht.

Daraus folgt eine einfache Faustregel für die Galerie. Was für jeden Besucher gleich aussieht und sich selten ändert, sollte als Datei vorliegen. Was sich ändert, sobald Sie in der Verwaltung etwas hochladen oder umbenennen, kommt aus PHP. Eine gut gebaute Galerie hält den dynamischen Teil so klein wie möglich. Wie klein er beim Bildergalerie-Script ausfällt, zeigt der Abschnitt weiter unten an einem durchgezählten Beispiel.

An der Übergabe an PHP lauert eine Stolperfalle. Anleitungen im Netz empfehlen oft, PHP-Grenzen wie die erlaubte Dateigröße mit einer php_value-Zeile in der Datei .htaccess anzuheben. Bei vielen Webhostern ist PHP aber so angebunden, dass der Webserver diese Zeile nicht versteht und die ganze Website danach mit dem Fehler 500 antwortet. Stellen Sie solche Werte deshalb im Kundenmenü des Webhosters ein. Was die .htaccess-Datei sonst noch kann, erklärt ein eigener Artikel.

Was der Webserver beim Bildergalerie-Script erledigt

Am Bildergalerie-Script lässt sich gut nachzählen, welche Arbeit der Webserver bei einem einzigen Klick übernimmt. Ein Besucher öffnet die Adresse bildergalerie.php?kid=3, also die Kategorie mit der Nummer 3, und darin liegen 40 Fotos. Daraus werden zwei Sorten von Anfragen.

AnfrageArtWas der Webserver tut
bildergalerie.php?kid=3dynamisch, einmalübergibt an PHP, das die Datenbank fragt oder das Ergebnis aus dem Ordner cache/ nimmt und die HTML-Seite baut
Vorschaubilder wie bilder/tn/tn3_herbst.jpgstatisch, 40-malliefert die fertigen Dateien direkt aus, ohne PHP
Stile und Skripte aus css/ und js/statisch, siebenmalliefert layout.css, lightbox.css, lightbox.js und vier weitere Dateien aus, der Browser speichert sie meist zwischen
große Ansicht nach einem Klickstatischliefert die verkleinerte Kopie bilder/tn/ob_3_… oder bei kleinen Bildern das Original aus dem Kategorieordner

Nur eine von rund 48 Anfragen braucht also PHP und Datenbank. Den großen Rest liefert der Server als fertige Dateien aus, weil die Galerie Vorschaubilder einmal erzeugt und danach in bilder/tn/ ablegt. Auch die eine dynamische Anfrage ist oft schnell erledigt, denn die Ergebnisse der Datenbankabfragen hält das Script im Ordner cache/ bereit, im Standard 350 Sekunden lang. Alle Bilder einer Kategorie stehen auf einer Seite. Bei mehreren hundert Fotos in einer Kategorie lohnt es sich deshalb, sie auf mehrere Kategorien zu verteilen.

Eine dritte Sorte Anfrage kommt gar nicht erst durch: Ruft jemand gezielt inc/config.php auf, wo die Zugangsdaten zur Datenbank stehen, antwortet der Webserver mit 403. Das Diagramm stellt die drei Wege nebeneinander.

Animiertes Diagramm: Der Webserver reicht bildergalerie.php an PHP weiter, liefert ein Vorschaubild aus bilder/tn/ direkt aus und sperrt inc/config.php mit dem Status 403
Weiterreichen, direkt ausliefern oder abweisen: Der Webserver entscheidet anhand des Pfads.

Was die Galerie beim Webhoster voraussetzt

Das Script läuft mit Apache und mit nginx, empfohlen ist Apache. Außerdem braucht es PHP 8.2 bis 8.5 mit den Erweiterungen GD, mysqli und mbstring sowie MySQL ab 5.7 oder MariaDB ab 10.2. Das bietet gewöhnlicher Webspace für wenige Euro im Monat.

Im Download liegen .htaccess-Dateien, die Ordner wie inc/, class/, tpl/ und cache/ für Besucher sperren und im Ordner bilder/ das Ausführen von Skripten verhindern. Diese Dateien wertet Apache aus, ebenso ein kompatibler Server wie LiteSpeed. Unter nginx müssen dieselben Sperren in der Serverkonfiguration stehen, Umschreibregeln braucht die Galerie dort keine. Die Datei im Bilderordner ist so geschrieben, dass sie bei jeder Art der PHP-Anbindung greift, ohne den Fehler 500 auszulösen: Ein dort eingeschmuggeltes Skript wird weder ausgeführt noch ausgeliefert. Läuft bei Ihrem Webhoster Apache, achten Sie nur darauf, dass Ihr FTP-Programm die Dateien mit dem Punkt am Anfang auch hochlädt. Viele Programme blenden sie in der Standardansicht aus.

Beim Hochladen redet der Webserver ebenfalls mit. Neben den PHP-Grenzen kann er die Größe einer Anfrage selbst begrenzen. Ist diese Grenze kleiner als Ihre Fotos, bricht der Upload mit dem Fehler 413 ab, und dann hilft nur der Webhoster. Wer sehen will, wie das alles zusammenspielt, kann das Script kostenlos herunterladen und auf dem eigenen Webspace installieren.

Was der Webserver nebenbei für Sie erledigt

Neben dem Ausliefern und Sperren übernimmt der Webserver Aufgaben, die man als Galeriebetreiber erst bemerkt, wenn man sie braucht. Eingestellt werden sie nicht in der Galerie, sondern im Kundenmenü Ihres Webhosters oder in der .htaccess.

  • Zugriffsprotokoll: Für jede Anfrage schreibt der Webserver eine Zeile in sein Logfile, mit Uhrzeit, meist gekürzter IP-Adresse, Pfad, Statuscode, Dateigröße und der Seite, von der der Besucher kam. Eine eigene Besucherstatistik hat das Bildergalerie-Script nicht, das Protokoll ist deshalb Ihre beste Quelle. Zeilen mit bilder/tn/ob_3_ zeigen zum Beispiel, wie oft große Ansichten aus der Kategorie 3 geladen wurden, soweit der Browser sie nicht aus seinem Zwischenspeicher nahm. Viele Webhoster bieten die Protokolle zum Herunterladen oder als fertige Auswertung an. Wie man sie liest, zeigt der Artikel zur Statistik der Galerie.
  • Browser-Cache für Bilder: Mit jeder Datei schickt der Webserver eine Angabe, wie lange der Browser sie aufbewahren darf. Eine Regel in der .htaccess wie ExpiresByType image/jpeg "access plus 1 year" erspart wiederkehrenden Besuchern das erneute Laden. Bei Vorschaubildern und Kopien für die große Ansicht ist das unbedenklich, weil die Galerie an deren Adresse einen Zeitstempel (?v=…) hängt und neu erzeugte Dateien deshalb sofort geladen werden. Originale tragen keinen Zeitstempel: Laden Sie ein anderes Foto unter demselben Namen hoch, sehen manche Besucher bis zum Ablauf der Frist noch das alte. Das Prinzip erklärt der Artikel über den Cache.
  • Verschlüsselung: Das SSL-Zertifikat liegt beim Webserver, und er übernimmt die Verschlüsselung aus Schritt 2 der Liste oben. Bei den meisten Webhostern schalten Sie ein kostenloses Zertifikat im Kundenmenü ein. Die Galerie braucht dafür keine Einstellung: Rufen Sie sie über https:// auf, bildet sie auch alle ihre Adressen mit https://. Die automatische Umleitung von http:// auf https:// richten Sie beim Webhoster ein.

Häufige Fragen

Beim Webserver geht es oft darum, was bei einem Seitenaufruf wirklich passiert und welche Software dahintersteckt.

Was passiert serverseitig, wenn ich eine Galerie-Seite aufrufe?

Zuerst klärt Ihr Gerät per DNS, welcher Rechner zur Adresse gehört, dann schickt es ihm die Anfrage. Der Webserver sieht an der Endung .php, dass er die Arbeit nicht allein erledigen kann, und reicht sie an PHP weiter. Das Script holt die Liste der Fotos aus der Datenbank oder seinem Zwischenspeicher, baut daraus HTML und gibt es dem Webserver zurück. Die Vorschaubilder fordert Ihr Browser danach einzeln an, und die kommen ohne PHP als fertige Dateien zurück.

Welche Software läuft auf einem Webserver?

Das eigentliche Serverprogramm ist meist Apache, nginx oder LiteSpeed. Für eine Galerie kommen PHP als Skriptsprache und eine Datenbank wie MySQL oder MariaDB dazu, darunter läuft fast immer Linux. Beim gemieteten Webspace kümmert sich der Anbieter um all das. Sie wählen im Kundenmenü höchstens die PHP-Version und legen Datenbanken an.

Was ist der Unterschied zwischen statischen und dynamischen Seiten?

Statisch heißt: Die Datei liegt genau so auf dem Server, wie sie beim Besucher ankommt, etwa ein Foto oder ein Stylesheet. Dynamisch heißt: Die Seite entsteht erst beim Aufruf, weil ein Programm sie aus Daten zusammensetzt. Eine Galerie mit Verwaltung braucht beides. Die Übersicht ist dynamisch, damit neue Fotos sofort erscheinen, die Bilder selbst sind statisch.

Kann ich sehen, welche Fotos meiner Galerie am häufigsten aufgerufen werden?

Nicht in der Galerie selbst, denn das Bildergalerie-Script hat keine Besucherstatistik. Die Antwort steht aber im Zugriffsprotokoll des Webservers, das die meisten Webhoster im Kundenmenü bereitstellen. Suchen Sie dort nach den Dateinamen Ihrer Fotos im Ordner bilder/: Jede Zeile ist ein Abruf, und die Angabe zur Herkunft verrät, ob er aus Ihrer Galerie oder von einer fremden Seite kam.

Braucht das Bildergalerie-Script einen bestimmten Webserver?

Empfohlen ist Apache oder ein kompatibler Server wie LiteSpeed, weil diese die mitgelieferten .htaccess-Dateien auswerten, die interne Ordner sperren. Mit nginx funktioniert die Galerie ebenfalls, Umschreibregeln braucht sie nicht. Die Sperren für cache/, class/, inc/ und tpl/ sowie für Skripte im Ordner bilder/ müssen dort aber in der Serverkonfiguration stehen.

Verwandte Themen

Wer verstehen will, wie der Server eine Galerie ausliefert, findet in diesen Themen die nächsten Bausteine.