Der Martin: eigene Fehlerseiten

Beitrag lesen

Hallo,

Es gibt üblicherweise keine leeren Server-Responses.
Tipp: FF3 Live-Http-Headers oder Firebug
Dies und die Hinweise von Martin haben mich noch mal auf einen anderen Gedanken gebracht - danke dafür

wenn's zum Ziel führt, meinetwegen auch auf Umwegen - okay!

Der Fehler liegt offenbar darin, dass ich mir meine Fehlerseite als Frameset angelegt habe, das nur in der oberen Verzeichnisstruktur korrekt aufgerufen wird.

Dann wäre es interessant, wie du die einzelnen Frame-Dokumente innerhalb des Framesets referenzierst. Die müssen nämlich dann absolut adressiert sein, denn der Browser, der diese Dokumente anfordert, "glaubt" ja immer noch, er befinde sich im Verzeichnis des Dokuments, das er ursprünglich angefordert hat. Beispiel:

Request      /rezepte/dessert/quarkspeise.html
   Response     Status 404 und Fehlerdokument (Frameset)
   Sub-Request  /rezepte/dessert/frame1.html
   Response     Status 404 und Fehlerdokument (Frameset)
   Sub-Request  /rezepte/dessert/frame2.html
   Response     Status 404 und Fehlerdokument (Frameset)
   Sub-Request  /rezepte/dessert/frame3.html
   Response     Status 404 und Fehlerdokument (Frameset)

Verstehst du das Prinzip? Der Browser, der ursprünglich /rezepte/dessert/quarkspeise.html angefordert hat, weiß ja nicht, dass das Fehlerdokument, das er ersatzweise bekommt, in einem ganz anderen Verzeichnis liegt.

Was die Sache noch schlimmer macht: Jeder falsche Zugriff auf die einzelnen Frame-Dokumente liefert ersatzweise wieder das komplette Frameset aus, das ergibt eine unendliche Verzweigung (in jedem einzelnen Frame beginnt wieder das komplette Frameset), die der Browser irgendwann von sich aus beendet.

Der Hinweis http-trace klang nach "Programm herunterladen"

Unter Umständen, ja. Als Webentwickler sollte man aber zumindest ein einfaches Tool in der Art, nämlich die LiveHTTP-Extension für Firefox, stets parat haben.

Ein Hinweis auf die logfiles wäre nett gewesen.

Möglich. Im Normalfall (also ohne Frameset als Fehlerdokument) hätte das aber keinen Aufschluss gegeben. Da wäre eine Anforderung und ein Status 404 protokolliert gewesen - also nichts, was wir nicht schon gewusst hätten.

Die "traces" hab ich mir in den Logfiles angesehen

Nein, wir reden hier von zwei ganz unterschiedlichen Dingen, auch wenn man teilweise ähnliche Informationen daraus gewinnen kann. Als HTTP-Trace bezeichnet man einen Mitschrieb der Cient/Server-Kommunikation, vor allem der HTTP-Header von Request und Response. Die Protokolldatei des Servers enthält dagegen nur eine grobe Zusammenfassung jedes Request/Response-Pärchens.

und da dann eben gesehen, dass alle Framebestandteile nicht geladen werden können - warum auch immer.

Schau mal nach, aus welchem Verzeichnis der Client diese einzelnen Frames laden wollte - dann weißt du es.

(Verschont mich jetzt bitte mit Belehrungen darüber, dass sich Frames nicht mehr schicken etc.)

Und überhaupt, warum muss es eigentlich ein Frameset sein? *duck-und-weg*

So long,
 Martin

--
Wer barfuß geht, dem kann man nicht die Schuld in die Schuhe schieben.