Hallo,
danke für deine Antwort. Also am fehlenden \n\n kann es nicht liegen, denn ob ich es mit oder ohne mache (normalerweise immer mit), es bleibt ein Fehlschlag.
gibst du tatsächlich zweimal CR/LF (also 0x0D, 0x0A) aus, oder nur zwei Linefeeds? Letzteres wäre nämlich nicht korrekt und könnte die beschriebenen Effekte verursachen.
Was meinst du mit "vergessen, dass man schon Teile des Body ausgegeben hat"? Ich möchte ja keinen Body ausgeben.
Doch, möchtest du. Es ist zwar technisch ausreichend, wenn nur ein HTTP-Statuscode im Header als Antwort zum Client gelangt; anstandshalber möchte man aber bitte auch eine lesbare Information haben. Und sei's nur die Ausgabe des HTTP-Statuscodes und der Klartext-Fehlermeldung, etwa "403 Forbidden".
Wenn ich z. B. den Code "403 Forbidden" ausgebe, dann soll entweder der Server seine Standard-ErrorDocumente schicken
Das ist, wenn ich die CGI-Spezifikation richtig verstehe, nicht vorgesehen. Das CGI-Programm muss, wenn es einmal aufgerufen ist, alle Ausgaben einschließlich der korrekten HTTP-Header selbst regeln. Die Standard-Errordokumente des Servers kommen nur dann zum Zuge, wenn das CGI-Programm gar nicht erst gestartet werden kann, weil der Server bereits einen Fehler feststellt (z.B. 401, 403, 404, 500).
ok, dann kann ich auch gleich selbst eine Ausgabe generieren
Eben. ;-)
oder der Browser soll eine eigene Seite à la "Seite nicht gefunden" anzeigen. Letzteres wäre mir persönlich am liebsten.
Das tun anständige Browser nur, wenn sie gar nicht erst eine Verbindung zum Server aufbauen können (Host not found, Connection refused). Kommt die Verbindung aber zustande, dann geben sie brav die Information aus, auch die Fehlermeldung, die sie vom Server erhalten.
Doch halt ... IrgendEin Browser existiert da noch, der es für richtiger hält, dem Nutzer die differenzierte Fehlerinformation vom Server vorzuenthalten und ihm stattdessen die nahezu informationsfreie Zeile "Seite nicht gefunden" anzuzeigen. Zumindest in der Defaulteinstellung.
So long,
Martin
Die letzten Worte des Systemadministrators:
Nur gut, dass ich ein intaktes Backup habe.