|
![ein Kapitel weiter](../weiter.gif)
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 weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|