# 2.2.5 HTTP-Response

Die HTTP-Parameter des Server-Response lassen sich auf verschiedene Weisen beeinflussen:

- Durch die Konfiguration des Webservers. Hier lassen sich alle Parameter des Server-Response festlegen.
- In den PHP-Dateien lassen sich viele Parameter des Webservers "überschreiben", oder auch neue Parameter hinzufügen. Hierdurch kann man dateispezifisch HTTP-Parameter bestimmen. Wie dies geht, wird im Kapitel PHP beschrieben.
- Selbst in HTML-Dateien kann man mit den HTML-Metainformationen die Parameter im HTTP-Header beeinflussen. Hier einige Beispiele:

Beispiel

- `<meta http-equiv="..." content="...">` - Das Attribut `http-equiv` bedeutet, dass damit das HTTP-Protokoll und somit die Kommunikation zwischen Server und Browser beeinflusst wird.

- `<meta http-equiv="expire" content="3600">` - In den HTTP-Header wird die Zeile `Expire: 3600` eingetragen, die dem Browser mitteilt, dass der Inhalt nach 3600 Sekunden (= 1 Stunde) als veraltet angesehen und somit danach nicht mehr aus dem Browsercache abgerufen werden soll.

- `<meta http-equiv="refresh" content="8; URL=http://thomaschewski.de">` - Nach 8 Sekunden soll der Browser die angegebene Webseite aufrufen. Es handelt sich somit um eine automatische Weiterleitung.

- `<meta http-equiv="refresh" content="5">` - Nach 5 Sekunden soll der Browser die aktuelle Seite erneut aufrufen.

Mit dem Server-Response lässt sich das "Caching" steuern, also, welche Dateien der Client für wie lange als aktuell betrachtet, um diese nicht neu anzufordern, sondern direkt von der Client-Festplatte zu laden. Ein gut eingestelltes Caching verringert die Last auf dem Webserver und das Übertragungsvolumen über das Netzwerk. Wichtig ist auch: der Client erhält die Daten schneller.

Wichtig ist der übermittelte Statuscode. Hieran kann vieles erkannt werden.

- 304: Das Element wurde von der Festplatte des Clients geladen. Wenn Sie also beispielsweise eine CSS-Datei geändert haben und keine Auswirkungen auf dem Browser feststellen, dann kann dies daran liegen, dass die auf dem Server neu geänderte Datei gar nicht auf den Client übertragen, sondern die "alte Datei" von der Festplatte des Clients verwendet wurde.
- 301, 302, 303 und 307: Dies sind alles Umleitungen. Der Client wird damit aufgefordert, das Dokument erneut automatisch von der im Header-Feld `Location: ...` angegebenen Stelle anzufordern.

Hinweis

Wer einen Webserver betreibt, sollte regelmäßig die Logdateien kontrollieren und nachsehen, welche Statuscodes dort vorhanden sind. Wo die Log-Dateien liegen, und wie man diese auswertet, wird im Kapitel Webserver beschrieben.