Forum: PC-Programmierung Browser Problem, FF zeigt kein 404


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias 🟠. (homa)


Lesenswert?

Hallo, ich hoffe hier Hilfe zu finden.
Beim Testen einer Webseite, die von einem Mikrocontroller generiert 
wird, habe ich das Problem, dass der FireFox (FF) einfach keinen 404 
anzeigt, sondern nur eine leere Seite. Das macht mich wahnsinnig. Der 
Edge hingegen meldet korrekt:

Diese 192.168.1.42 Seite wurde nicht gefunden.
Für die Webadresse wurde keine Webseite gefunden: http://192.168.1.42 /
HTTP ERROR 404

Beim FF habe ich alle Addons deaktiviert, Cache geleert und sogar mit 
"about:support" den Browser bereinigt. Mit dem Ergebnis, dass ich alle 
Addons neu installieren muss und alle meine NoScript-Einstellungen weg 
sind :-(
Aber ich bekomme immer noch nicht die richtige Fehlermeldung.
Hat jemand eine Erklärung dafür?

Matthias

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Liefert denn dein Mikrocontroller einen Body?

Der Header wird nämlich nur im Debugger des Browsers angezeigt. Das war 
nicht immer so, aber so machen sie es jetzt halt alle.

: Bearbeitet durch User
von Peter (wokinloksar)


Lesenswert?

F12 drücken, den Tab Network/Netzwerk aktivieren und die Seite nochmal 
laden.

Im Tab Inspector ansehen, wie der gelieferte Quellcode des http-Response 
aussieht, im Tab Network nach den Headern sehen. Die Header in 
RAW-Zustand zeigen die HTTP-Response-Codes.

Vermutlich wirst Du das bestätigt finden, was der Vorposter schon 
vermutet: Es gibt zwar einen 404-Header, aber eine leere Antwortseite. 
Der Browser zeigt nur die Seite, die er geliefert bekommt.

von Matthias 🟠. (homa)


Angehängte Dateien:

Lesenswert?

Ok, ich bekomme eine 404, aber nicht wirklich sichtbar für den 
Benutzer/für mich.
Kann man das irgendwie in den Optionen ändern? Langsam geht mir dieses 
Verstecken von "Komplexität" auf die Nerven ...
Woher kommt diese html-Seite im Inspektor, wenn der Mikrocontroller eine 
404 sendet?

von Matthias 🟠. (homa)


Lesenswert?

Peter schrieb:
> Es gibt zwar einen 404-Header, aber eine leere Antwortseite.
> Der Browser zeigt nur die Seite, die er geliefert bekommt.

D.h. neben dem Header müsste ich einen 404-Body mitsenden? Der FF zeigt 
also nichts an und der Edge generiert die Fehlerseite selbst?

von Motopick (motopick)


Lesenswert?

Matthias 🟠. schrieb:

> Edge hingegen meldet korrekt:
>
> Diese 192.168.1.42 Seite wurde nicht gefunden.
> Für die Webadresse wurde keine Webseite gefunden: http://192.168.1.42 /
> HTTP ERROR 404

Einen 404 Error kann nur der HTTP-Server selbst melden.
Mit einer hoffentlich ordentlichen (Fehler-)Seite dazu.
Ein Browser kann allenfalls einen Timeout als Fehler melden.
Aber keinen 404...

von Matthias 🟠. (homa)


Lesenswert?

Motopick schrieb:
> Einen 404 Error kann nur der HTTP-Server selbst melden.
Das tut der Mikrocontroller (Mini-Webserver) ja.

> Mit einer hoffentlich ordentlichen (Fehler-)Seite dazu.
Das tut er noch nicht. Hier zeigt der FF eine leere Seite, der Edge 
hingegen seine default 404-Seite.
Für mich ist es unverständlich warum der FF keine default 404 Seite 
anzeigt. Siehe meine Bemerkung oben.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Matthias 🟠. schrieb:
> D.h. neben dem Header müsste ich einen 404-Body mitsenden?

ja

von Daniel F. (df311)


Lesenswert?

Matthias 🟠. schrieb:
> Für mich ist es unverständlich warum der FF keine default 404 Seite
> anzeigt.

weil er halt genau das macht was er soll: er zeigt an was er empfangen 
hat. in deinem Fall halt... Nix

und nicht irgendwas halluziniert

von Matthias 🟠. (homa)


Lesenswert?

Daniel F. schrieb:
> und nicht irgendwas halluziniert

Was ist an einem Fehler 404 halluziniert? Diesen hat er ja empfangen.
Ich finde leere Seite vs. Zeige Fehler 404, die Fehlermeldung halt 
besser und es war ja auch einmal so. Der Edge macht es immer noch so. 
Und ich werde mich halt um einen 404-Body bemühen müssen.

Danke für Hilfe.

von Rolf M. (rmagnus)


Lesenswert?

Matthias 🟠. schrieb:
> Daniel F. schrieb:
>> und nicht irgendwas halluziniert
>
> Was ist an einem Fehler 404 halluziniert? Diesen hat er ja empfangen.

Und zu dem 404-Fehler, die er empfangen hat, gehört auch eine 404-Seite, 
die er empfangen hat und anzeigt. Da die bei dir leer ist, wird halt 
nichts angezeigt, also genau das, was dein Server vorgibt. Wenn Edge da 
stattdessen selbst irgendwas anderes macht, ist das kein Fehler von 
Firefox.

> Ich finde leere Seite vs. Zeige Fehler 404, die Fehlermeldung halt
> besser und es war ja auch einmal so. Der Edge macht es immer noch so.

Ja, das war schon früher beim Internet Explorer so eine Marotte, dass er 
das vom Server gesendete 404-Dokument einfach ignoriert und stattdessen 
was selbst generiertes angezeigt hat. Deshalb haben schon damals einige 
Webserver nie einen echten 404-Fehler, sondern stattdessen eine 
Weiterleitung auf die 404-Seite generiert, nur damit auch der 
Microsoft-Browser sie anzeigt.

von Daniel F. (df311)


Lesenswert?

Matthias 🟠. schrieb:
> Ich finde leere Seite vs. Zeige Fehler 404, die Fehlermeldung halt
> besser und es war ja auch einmal so.

und genau das ist das Problem bzw. die Halluzination. Es wird etwas 
angezeigt was nicht da sein soll.
Ein 404 kann einen Body haben, muss aber nicht. Und wenn er keinen hat, 
dann ist halt keiner da. und Nix ist halt Nix, nicht irgendeine 
generierte Fehlerseite, die was weiß ich was anzeigen könnte wo keiner 
weiß, wo das wirklich herkommt.

von Frank O. (fop)


Lesenswert?

Der Edge ist halt Teil einer langen Microsoft Tradition. Früher mal, hat 
der Internet Explorer den Body nur angezeigt, wenn er eine von Microsoft 
festgelegte Mindestzahl an Bytes hatte. Waren es weniger, wurde eine im 
Browser enthaltene Seite angezeigt.

von Rene K. (xdraconix)


Lesenswert?

Die 404 gibt halt immer noch der Webserver selber zurück... Wäre der 
Server nicht erreichbar gibt dann der Browser eine 50x aus.

von Hmmm (hmmm)


Lesenswert?

Rene K. schrieb:
> Wäre der Server nicht erreichbar gibt dann der Browser eine 50x aus.

Nein. Eine Fehlermeldung gibt es, aber mangels HTTP auch keinen 
HTTP-Error-Code.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.