当网站停机维护时,要发送的正确HTTP状态代码是什么?

ale*_*lex 76 php http http-response-codes

是否有HTTP状态代码告诉Google(和其他人)离开,稍后再回复我

基本上,一个语义告诉客户该网站是否需要维护?

我考虑过的是

304 => Not modified
307 => Temporary redirect
410 => Gone
503 => Service Unavailable
Run Code Online (Sandbox Code Playgroud)

我倾向于最后一个,但只是好奇哪个是正确的选择.

Dan*_*llo 102

HTTP 503 - 服务不可用是最合适的.

由于服务器临时过载或维护,Web服务器(运行Web站点)当前无法处理HTTP请求.这意味着这是一个暂时的条件,经过一段时间的延迟后会得到缓解.

Google网站站长中心论坛上的这篇文章也是相关的:

是 - 503是"我们关闭"的正确服务器响应.如果您用普通的HTML页面替换"我们已关闭"并提供200,则很可能会被Google编入索引.

如果你给Googlebot一个503,那么它就会消失并在以后回来而不会为你提供的内容编制索引.


更新:

至于php实现,您可能有兴趣查看以下文章:

还要注意retry-after标题,您可以在其中指定应重新尝试另一个请求的秒数.

  • 看起来这不再适用于 http2 - 当我通过维护页面发送 503 时,Chrome 显示 ERR_HTTP2_PROTOCOL_ERROR。如果我发送 200 一切都很好 (2认同)

Lee*_*Lee 8

来自http://www.google.com/support/webmasters/bin/answer.py?hl=zh-CN&answer=40132

503(服务不可用)服务器当前不可用(因为它过载或停机以进行维护).通常,这是一个临时状态.