ein Kapitel zurück                                           ein Kapitel weiter

Nachdem Ihre HTTP-Anforderung erfolgt ist und als Ziel ein CGI-Skript ist, führt der Webserver nun das CGI-Skript aus. Nun während das Skript läuft muß sofort ein Antwort an den Browser zurückgeschickt werden. Diese Antwort, auch HTTP Response Header genannt, sieht in etwa folgendermaßend aus....

HTTP/1.2 200 OK
Server: domainfactory.de
Date: Monday, 23-Jan-02, 02:23:21 GMT
Last-modified : Friday, 12-Jan-02, 03:22:10 GMT
Content-length: 1025
Content-type: text/html  

Nach diesem Header erfolgt der Inhalt der Angeforderten Datei an den Browser. Dieser kann auf 2 Arten erfolgen....

  • Parsed Header Output - Die Standardausgabe von Ihrem CGI-Skript wird an den Server geschickt. Dieser generiert dann den HTTP Response Header.

  • Non-Parsed Header Output - In diesem Fall wird der Server in Ruhe gelassen. Sie müssen dabei Ihrem Skript nur das Präfix nph vornanstellen....

    nph-mycgi.cgi  

    Damit wird die Antwort direkt an dem Clienten gesendet. Ihr CGI-Programm muss allerdings auch mit dem passenden Header antworten, da der Client sonst die Fehlermeldung 500 erhält. Dafür läßt sich die Methode header() im CGI.pm Modul verwenden. Wir kommen auf dieser Methode im Praxisteil nochmals zurück.

Der Statuscode z.B.....

HTTP/1.2 200 OK  

...gibt Auskunft ob etwas schiefgelaufen ist oder alles Ok war. Der bekannteste Statuscode über den wohl schon jeder gestopert ist dürfte 404 sein. Dieser bedeudet das das angeforderte Dokument nicht exisitiert auf dem Server.

Wenn sie den Kurs bis hierhin geschafft haben werden sie wohl am Anfang häufig auf dem Statuscode 500 gestoßen sein. Dieser bedeutet das entweder das CGI-Programm einen Fehler enthält, der Server falsch Konfiguriert ist oder die Zugriffsrechte wurden als nicht Ausführbar gesetzt.

Dabei bedeuten alle rückgegebenen Statuscodes zwischen.......


Statusbereich Bedeutung
200-299 Alles in Ordnung
300-399 Veränderungsstatus, Verlagerungen, Weitere Maßnamen müssen getroffen werden
400-499 Fehlermeldung vom Client
500-599 Fehlermeldung vom Server


Diese Codes werden HtdP-Response-Codes genannt. 
Hier nun ein Überblick über die Status-Codes und Ihre Bedeutung.......


Statuscode

Bedeutung

200  Alles OK
201 POST-Befehl erfolgreich
202 Anforderung aktzeptiert
203 GET - Anforderung erfüllt
204  Anforderung erfüllt aber Rücksendung nicht verstanden
300  Datenquelle an mehreren Stellen gefunden
301  Datenquelle war dauernd in Bewegung
302  Datenquelle war zeitweise in Bewegung
304  Datenquelle konnte nicht näher bestimmt werden
400  Unverständliche Anforderung vom Client
401
ein File wurde angefragt, für den sich der User ausweisen muss
403  Anfrage war verständlich, der Server weigert sich jedoch das Dokument zu senden, da dieser oder der Client keine Berechtigung haben. Beispiel: keine Leserechte der Datei
404 
Datenquelle nicht gefunden
405  Verfahren an Datenquelle nicht erlaubt...die Abfragemethode z.B. POST ist explizit gesperrt
406  Art der Datenquelle nicht erwünscht
408  Anfrage Timeout ->Server überlastet? Fehlkonfiguriert?
500  Fehler im CGI-Skript, Falsche Zugriffrechte, Server falsch konfiguririert
501  Anfrage wird vom Server nicht unterstützt, da notwendige Module nicht implementiert
502  Schlechte Netzverbindung oder Server überladen
503  Dienst steht nicht zur Verfügung - Timeout - wenn z.B. ein hinterliegender Datenbankserver nicht reagiert


Dies stellt einen Überblick über gängige HtdP-Response-Codes da.

Wir kommen im Praxisteil noch dazu, wie man mit Fehlercodes weiterarbeiten und reagieren kann.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf