网页上“文件未找到”是什么意思?

网页上“文件未找到”是什么意思?

当我访问某些 HTTP URL 时,例如http://www.ssa.gov/framework/images/icons/png/在 Firefox(在 Linux 上运行)中,我意外地收到“页面加载问题”浏览器错误,其中包含用于当地的文件:

火狐

该文本似乎没有什么意义,因为没有涉及文件。

起初我以为这可能只是 Firefox 的一个错误,但 Chromium 中也发生了同样的事情:

铬

当我告诉 Wget 下载它时,它会报告500 Server Error。但浏览器在收到 500 错误时不可能显示“文件未找到”,因为当我访问时不会发生这种情况https://httpbin.org/status/500

是什么导致了这个错误信息,它意味着什么?

答案1

我想我已经找到了原因。

当 Web 服务器遇到错误时,它通常会向浏览器提供一份文档(通常是描述错误的 HTML 文档),并使用 HTTP 状态代码指示错误情况。

根据此错误报告,Firefox 最初总是显示返回的文档;通常这就是您想要的。但是,用户发现 AOL 服务器配置错误存在问题:当请求不存在的 EXE 文件时,服务器会提供 404 页面,但 Content-Type 不正确。这导致 Firefox 建议下载带有扩展名的 HTML 文档.exe,这令人困惑,因为没有迹象表明发生了任何错误。他们通过简单的 hack 改变了这种行为(不需要费力编写新的错误消息页面,因为这种情况并不常见,而是重新使用“未找到”页面,这在错误报告者给出的具体示例中是有意义的)。

错误报告@m4573r 找到了,这听起来像是 Firefox 收到带有 HTTP 代码的响应时(表示错误)的当前行为,如果响应Content-Type不是 HTML,则 Firefox 会显示“未找到文件”错误页面。

绝大多数 Web 服务器都配置为在发生错误时提供 HTML 文档,这就是您通常看不到这种情况的原因。但在这个特殊情况下,错误消息毫无意义。

wget -d http://www.ssa.gov/framework/images/icons/png/确认这里发生的事情:

---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---

Content-type它使用虚假的提供错误页面magnus-internal/directory,从而触发 Firefox 中的行为。

显然,谷歌认为这种行为是有意义的,并在 Chromium 中实现了类似的行为。

答案2

它已经已报告错误在... 2008 :/ 似乎它在低优先级列表中。

答案3

由于您在问题中说没有涉及任何文件,所以我认为告诉您一些有关网络工作原理的信息可能会消除您的疑虑。

当您向服务器发送请求时,您实际上是在请求存储在服务器上的文件,或者如果请求的是动态内容,则是请求服务器生成的文件。

Url分为3部分:

1)Http://<<使用的协议

2) www.whatever.com << 用于识别服务器的 DNS(与您请求内容的位置相同)

3)/music/song.mp3 << 文件在服务器上的位置

因此,此错误消息只是表明未找到您请求的文件。我以音乐文件为例,但即使请求扩展名为 .html 的网页,也可能会产生相同的错误。

这个错误只是表示服务器上找不到您请求的资源,即网页,音乐文件,视频或任何类型的文件。

答案4

我只想指出,您正在寻找的只是 URL 路径的一部分。它缺少文件名和文件类型。本质上,它告诉您它找不到您正在寻找的不存在的“非文件”。这个“错误”尚未修复的原因是因为这不是一个错误。

毕竟,如果你去一个完全陌生人的家里并询问他们的 ______ 在哪里,他们将无法帮助你找到它,除非有东西填补了问题的空白部分,而实际上,这正是你要求浏览器做的事情。

顺便说一句,如果你去掉部分 URL 末尾的句号,它应该会为你提供网站 png 文件夹中的文件列表。不过,有些人认为这样做是黑客行为。就我个人而言,我不会这么做,而是偶尔留下一些“复活节彩蛋”,比如额外的可下载内容,供那些比其他人更了解网站结构的用户使用。我一直喜欢奖励那些拥有别人所不具备的额外知识的人。

相关内容