Was bedeutet "Datei nicht gefunden" auf einer Webseite?

7218
Mechanical snail

Wenn ich auf bestimmte HTTP-URLs zugreife, beispielsweise http://www.ssa.gov/framework/images/icons/png/in Firefox (läuft unter Linux), erhalte ich überraschenderweise einen Browserfehler "Problem beim Laden der Seite" mit der Meldung "Datei nicht gefunden", die für lokale Dateien verwendet wird:

Feuerfuchs

Der Text scheint nicht sinnvoll zu sein, da es sich nicht um eine Datei handelt.

Zuerst dachte ich, es könnte nur ein Firefox-Fehler sein, aber das gleiche passiert in Chromium:

Chrom

Wenn ich Wget sage, es herunterzuladen, berichtet es 500 Server Error. Es kann jedoch nicht sein, dass Browser bei einem 500-Fehler die Meldung "Datei nicht gefunden" anzeigen, da dies beim Zugriff auf https://httpbin.org/status/500 nicht der Fall ist .

Was verursacht diese Fehlermeldung und was bedeutet sie?

2
Computer sagt Nein'. Im Grunde sieht es so aus, als würden Sie versuchen, auf einen Ordner zuzugreifen, auf den Sie keinen Zugriff haben, aber die entsprechende Fehlerseite kann nicht angezeigt werden. Michael Frank vor 10 Jahren 1
Das ist eigentlich ein seltsamer Fall. Ein Wget -d gibt einen Fehlercode von 500 zurück, gefolgt von einer gut formatierten benutzerdefinierten 404-Seite. quadruplebucky vor 10 Jahren 1

4 Antworten auf die Frage

12
Mechanical snail

Ich glaube, ich habe den Grund dafür gefunden.

Wenn ein Webserver auf einen Fehler stößt, stellt er dem Browser normalerweise ein Dokument (normalerweise ein HTML-Dokument, das den Fehler beschreibt) zur Verfügung und zeigt den Fehlerzustand anhand des HTTP-Statuscodes an.

Gemäß diesem Fehlerbericht zeigte Firefox ursprünglich immer das zurückgegebene Dokument an. Normalerweise ist es das, was Sie wollen. Ein Benutzer stellte jedoch ein Problem mit einem falsch konfigurierten AOL-Server fest: Beim Anfordern einer nicht vorhandenen EXE-Datei würde der Server die 404-Seite bereitstellen, jedoch mit einem falschen Content-Type. Dies führte dazu, dass Firefox anbot, das HTML-Dokument mit einer .exeErweiterung herunterzuladen. Dies war verwirrend, da keine Anzeichen für einen Fehler auftraten. Sie änderten das Verhalten mit einem einfachen Hack (der die Erstellung einer neuen Fehlermeldungsseite nicht rechtfertigt, da dies ein ungewöhnlicher Fall ist, stattdessen die "nicht gefundene" Seite erneut zu verwenden, was in dem speziellen Beispiel des Reporters des Fehlers Sinn macht).

Aus dem Fehlerbericht, den @ m4573r gefunden hat, klingt es wie das aktuelle Verhalten, wenn Firefox eine Antwort mit einem HTTP-Code erhält, der einen Fehler signalisiert, und die Antwort Content-Typeetwas anderes als HTML ist. Anschließend zeigt Firefox eine Fehlerseite "Datei nicht gefunden" an.

Die überwiegende Mehrheit der Webserver ist so konfiguriert, dass sie im Fehlerfall ein HTML-Dokument bereitstellen. Aus diesem Grund wird dies normalerweise nicht angezeigt. In diesem Eckfall ist die Fehlermeldung jedoch nicht sinnvoll.

wget -d http://www.ssa.gov/framework/images/icons/png/ bestätigt, was hier los ist:

---response begin--- HTTP/1.1 500 Server Error Server: Generic Web Server 1.0 Date: Thu, 20 Feb 2014 23:29:57 GMT Cache-control: public Content-type: magnus-internal/directory Transfer-encoding: chunked  ---response end--- 

Es dient der Fehlerseite mit dem Schein Content-typevon magnus-internal/directory, das Verhalten in Firefox auszulösen.

Offensichtlich war Google der Meinung, dass dieses Verhalten sinnvoll ist, und implementierte es ähnlich in Chromium.

Warum bin ich nicht überrascht, dass es ein falsch konfigurierter ** AOL-Server war ... esqew vor 10 Jahren 1
@sqew: Und jetzt ein falsch konfigurierter Server der Regierungsbehörde! Mechanical snail vor 10 Jahren 0
1
m4573r

Es wurde als Fehler in ... gemeldet. 2008: / Scheint, dass es auf einer Liste mit niedriger Priorität steht.

Aus der Beschreibung scheint es jedoch zu resultieren, wie der Fehlerbehandlungscode von Firefox implementiert wurde. Interessanterweise hätte Chrom den gleichen Fehler. Mechanical snail vor 10 Jahren 0
Tatsächlich. Deine Antwort ist besser :) m4573r vor 10 Jahren 0
0
Ankit Goel

Da Sie in Ihrer Frage gesagt haben, dass keine Datei involviert ist, denke ich, dass es ein Zweifel darüber sein kann, wenn Sie ein wenig über die Funktionsweise des Webs informieren.

Wenn Sie eine Anfrage an einen Server senden, fordern Sie tatsächlich eine auf dem Server gespeicherte Datei oder eine vom Server generierte Datei an, wenn die Anfrage nach dynamischem Inhalt fragt.

Die URL ist in 3 Teile unterteilt:

1) Http: // << das verwendete Protokoll

2) www.whatever.com << die zur Identifizierung des Servers verwendeten DNS (von wo aus Sie nach Inhalten fragen)

3) /music/song.mp3 << der Speicherort der Datei auf dem Server

Diese Fehlermeldung besagt, dass die angeforderte Datei nicht gefunden wurde. Ich habe ein Beispiel für eine Musikdatei genommen, aber es kann sogar eine Webseite mit der Erweiterung .html angefordert werden, und es kann derselbe Fehler generiert werden.

Dieser Fehler besagt lediglich, dass die Ressource, dh Webseite, Musikdatei, Video oder der von Ihnen angeforderte Dateityp, nicht auf dem Server gefunden werden konnte.

-1
saywha

Ich möchte nur darauf hinweisen, dass das, wonach Sie gesucht haben, nur ein TEIL des Pfads für die URL war. Es fehlt sowohl ein Dateiname als auch ein Dateityp. Im Wesentlichen sagte es Ihnen, dass es die nicht existierenden "Nicht-Dateien", nach denen Sie gesucht haben, nicht finden konnte. Der Grund, warum dieser Fehler nicht behoben wurde, liegt darin, dass dies kein Fehler ist.

Wenn Sie zu einem fremden Haus gehen und fragen, wo sich ihr ______ befindet, können sie Ihnen nicht dabei helfen, es zu finden, bis der leere Teil der Frage durch etwas gefüllt wird, und tatsächlich haben Sie den Browser danach gefragt machen.

Übrigens: Wenn Sie den Zeitraum am Ende dieser Teil-URL entfernen, sollte eine Liste der Dateien angezeigt werden, die sich im PNG-Ordner der Site befinden. Einige Leute denken jedoch, dass das zu hacken ist. Ich persönlich lasse nicht und lasse gelegentlich "Ostereier", wie zusätzliche herunterladbare Inhalte, für Benutzer, die verstehen, wie Websites besser strukturiert sind als andere. Ich habe es immer geliebt, Menschen dafür zu belohnen, dass sie das gewisse Extra an Wissen hatten, das andere nicht haben.

In diesem speziellen Fall haben Sie vielleicht Recht, aber im Allgemeinen ist das offensichtlich falsch. Der Webserver erhält die von Ihnen gesendete URL (hier `/ framework / images / icons / png /`) und kann dann beliebig viele Inhalte bereitstellen. Am Ende der URL muss es keinen Dateinamen und keine Erweiterung geben. Dies ist häufig der Fall, da sie die Dateihierarchie der Website widerspiegelt. In ähnlicher Weise können Sie eine .png von einer URL erhalten, die auf .gif endet und so weiter. Thomas vor 10 Jahren 1
Am Ende gab es einen Punkt, der dem Browser mitteilte, dass Dateiname und Typ leer bleiben. Wäre die Periode NICHT dort gewesen, hätte sie gezeigt, was sich im Ordner befand. saywha vor 10 Jahren 0
Ich spreche von Ihrer allgemeinen Aussage und Ihrer Analogie zum Haus des Fremden. Das ist völlig falsch. Wie und wo Inhalte bereitgestellt werden, hängt von der Konfiguration des Webservers und der Website ab. Grundsätzlich gilt, dass URLs beim Bereitstellen einer Datei wie ein Dateipfad aussehen müssen. Die Analogie schlägt fehl, indem Sie Fremde nach `/ framework / images / icons / png /` fragen, was auch immer das sein mag, und es weiß - oder soll wissen - was zu tun ist. Thomas vor 10 Jahren 0
Ich denke, der Zeitraum war das Ende des Satzes der Fehlermeldung: `Firefox kann die Datei nicht unter [URL] .` finden rishimaharaj vor 10 Jahren 1
Wenn Sie sich den ursprünglichen Beitrag ansehen, befand sich der Zeitraum am Ende der URL, nach der gesucht wurde, und im Fehlertext wurde beides gesucht. Und, Thomas, du ignorierst die Zeit immer noch. Nach diesem Zeitraum wurde die Datei nicht gefunden. ../png/ ist nicht das Gleiche wie ../png/. überhaupt. saywha vor 10 Jahren 0
Diese Periode zeigt das Ende des Satzes in der Fehlermeldung an. Es ist nicht Teil der URL. Dracs vor 10 Jahren 1