1

我正在阅读 Yahoo 的最佳实践指南:http: //developer.yahoo.com/performance/rules.html#no404

引起我注意的一个规则是这个。

HTTP 请求很昂贵,因此发出 HTTP 请求并获得无用的响应(即 404 Not Found)是完全没有必要的,并且会减慢用户体验而没有任何好处。

一些网站有有用的 404 “你是说 X 吗?”,这对用户体验很有帮助,但也浪费了服务器资源(如数据库等)。特别糟糕的是外部 JavaScript 的链接错误,结果是 404。首先,此下载将阻止并行下载。接下来,浏览器可能会尝试解析 404 响应主体,就好像它是 JavaScript 代码一样,试图在其中找到可用的内容。

这真的是最佳实践吗?如果用户在我的网站上输入了错误的 url,那么本指南的建议是什么?我只是给用户留下默认的服务器错误页面?如果用户输入了错误的 url,服务器如何返回 404 以外的任何内容?我只是不明白这个建议,想知道是否有人可以解释原因,谢谢。

4

1 回答 1

2

最佳做法是在不同情况下提供不同的 404 文档。

对于不打算由用户直接请求而是嵌入到其他文档(即图像、样式表、脚本文件等)中的资源,不应导致详细的错误文档,而应简单地为空,即,没有人。如果没有正文,浏览器将不会尝试解析它。

但是对于打算直接请求的资源,包含有用信息和指导的详细 404 文档会更好。

您还可以将Referer标头字段的存在而不是作者的意图作为404 文档是否有用的指标。

于 2013-07-21T14:38:19.027 回答