PHP4-Forum
Forum | Befehle | MySQL | Beispiele | Newsletter | Suche | Home

Untermenü

Erweitertes
Reguläre Ausdr.
MIME-Mail
PHP und WAP
Crontab
HTTP-Header
Klassen, Objekte

Zu dieser Seite

HTTP-Header
Content-Type
Cache-Controll
Download von Dateien
Authentifizieren
HTTP-Header

Im Befehlsverzeichnis ist nachzulesen, dass der Befehl header() einen beliebigen HTTP-Header an den Browser sendet. Da kommt die Frage auf: Wozu brauche ich das eigentlich? Wer sich mit den Image-Funktionen auseinandergesetzt hat, der weiß, dass man um das Bild an den Browser zu senden, vorher ihm mitteilen muss, das es sich um ein Bild handelt. Hierbei wird Content-Type: image/gif angegeben. Aber es sollte am Besten ersteinmal deutlich werden, was der HTTP-Header überhaupt ist.

Wenn der Browser an einen Server eine Anfrage sendet, erhält er vor dem Dateiinhalt einen Abschnitt mit Informationen über den restlichen Inhalt. Der Header könnte z.B. so aussehen:
HTTP/1.1 200 OK
Date: Fri, 05 May 2000 10:27:58 GMT
Server: Apache/1.3.12 (Win32)
Last-Modified: Sat, 08 Apr 2000 15:40:40 GMT
ETag: "0-7af-38ef52f8"
Accept-Ranges: bytes
Content-Length: 1967
Connection: close
Content-Type: text/html


In der ersten Zeile steht immer das Protokoll mit Version (HTTP/1.1) gefolgt von dem Fehlercode und einer -Beschreibung. In diesem Fall ist es "200 OK", was bedeutet, dass die Seite erfolgreich gesendet wurde. Außerdem wird das Server-Datum und die Server-Version gesendet. Interessant wird es wieder bei "Last-Modified". Dieses Datum gibt den Zeitpunkt an, zu dem die Datei zum letzten Mal aktualisiert wurde. Desweiteren ist für den Browser die Inhalts-Länge (Content-Length) interessant. Sehr wichtig ist auch noch der Content-Type, der den MIME-Typ der Datei angibt, die gesendet wird. Mit diesem Thema möchten wir uns noch näher beschäftigen.

Wird der Befehl Header() in einer PHP-Datei nicht verwendet, so werden die Standard-Einstellungen verwendet. Bei "Content-Type ist dies z.B. text/html. Der Standard-Header können einfach durch neusetzen überschrieben werden:
header("Content-Type: text/plain");

So kann jeder beliebige Header gesetzt werden. Sollen mehrere Zeilen hinzugefügt oder ersetzt werden, lassen diese sich in einem Aufruf von header() setzen, in dem die Zeilen durch ein New-Line-Symbol (\n) getrennt werden, oder auch indem für jede Zeile der Befehl header() seperat aufgerufen wird.

Welche Möglichkeiten sich dabei für die Praxis als sinnvoll bzw. oft verwendbar erweisen, wird in den folgenden Kapiteln erklärt.
Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2013 | Last Update: 30.01.2001