网页返回状态码大全及原因分析
一些常见的状态码为:
- 200 – 服务器成功返回网页
- 404 – 请求的网页不存在
- 503 – 服务器超时
4xx 状态码
这些状态码表示请求可能出错,这妨碍了服务器的处理。
400(错误请求) | 服务器不理解请求的语法。 |
401(身份验证错误) | 此页要求授权。您可能不希望将此网页纳入索引。如果您的 Sitemap 中列出该网页,您可以将其删除。但如果您将其保留在您的 Sitemap 中,我们就不会抓取或索引该网页(尽管该网页将继续保持错误状态在此处列出)。如果我们将其作为搜索抓取的一部分抓取,您可以在我们的网站管理员信息中查阅其原因。 |
403(禁止) | 服务器拒绝请求。如果您在 Googlebot 尝试抓取您网站上的有效网页时看到此状态码(可以在 Google 网站管理员工具<strong>诊断</strong>下的<strong>网络抓取</strong>页面上看到此信息),可能是您的服务器或主机拒绝 Googlebot 访问。 |
404(未找到) | 服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。
如果您的网站上没有 robots.txt 文件,而您在 Google 网站管理员工具”诊断”标签的 robots.txt 页上看到此状态码,那么这是正确的状态码。但是,如果您有 robots.txt 文件而又看到此状态码,则说明您的 robots.txt 文件可能命名错误或位于错误的位置(该文件应当位于顶级域,名为 robots.txt)。 如果对于 Googlebot 尝试抓取的网址看到此状态码(在”诊断”标签的 HTTP 错误页面上),则表示 Googlebot 追踪的可能是另一个页面的无效链接(是旧链接或输入有误的链接)。 |
405(方法禁用) | 禁用请求中指定的方法。 |
406(不接受) | 无法使用请求的内容特性响应请求的网页。 |
407(需要代理授权) | 此状态码与 401 类似,但指定请求者必须授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。 |
408(请求超时) | 服务器等候请求时发生超时。 |
409(冲突) | 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。 |
410(已删除) | 请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久删除,您应当使用 301 指定资源的新位置。 |
411(需要有效长度) | 服务器不接受不含有效内容长度标头字段的请求。 |
412(未满足前提条件) | 服务器未满足请求者在请求中设置的其中一个前提条件。 |
413(请求实体过大) | 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 |
414(请求的 URI 过长) | 请求的 URI(通常为网址)过长,服务器无法处理。 |
415(不支持的媒体类型) | 请求的格式不受请求页面的支持。 |
416(请求范围不符合要求) | 如果页面无法提供请求的范围,则服务器会返回此状态码。 |
417(未满足期望值) | 服务器未满足”期望”请求标头字段的要求。 |
5xx 状态码
这些状态码表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
500(服务器内部错误) | 服务器遇到错误,无法完成请求。 |
501(尚未实施) | 服务器不具备完成请求的功能。例如,服务器无法识别请求方法时则会返回此代码。 |
502(错误网关) | 服务器作为网关或代理,从上游服务器收到无效响应。 |
503(服务不可用) | 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 |
504(网关超时) | 服务器作为网关或代理,但是没有及时从上游服务器收到请求。 |
505(HTTP 版本不受支持) | 服务器不支持请求中所用的 HTTP 协议版本。 |
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。