当特定页面将关闭几天时应返回哪个 HTTP 状态
Which HTTP status should be returned when a SPECIFIC page will be down for several days
我们正在上传我们网站的新版本。
由于种种原因,旧版本中存在的一些页面还没有为新版本做好准备,我们需要暂时将其移除。
对于这些页面,我们应该 return 哪个 HTTP 状态,因为它们会在几天内再次 运行。
仅对这些页面使用 ServiceUnavailable = 503
是正确的方式还是会对整个网站产生负面影响?
(使用 ASP.NET 以防它以某种方式相关...)
这里的status code 503
似乎是最好的选择:
The 503 (Service Unavailable) status code indicates that the server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
在您的案例中,这不是由于过载或维护造成的,这应该无关紧要。相关的是这是你的错(因此来自 5xx
class 的状态代码),并且它是暂时的(因此 503
),所以没有必要让他们知道真实的原因。
虽然 503
通常用于整个网站,但我看不出为什么它不应该只用于特定页面。一个可能的缺点:如果机器人连续抓取了一些文档,给出 503
,它可能会认为整个站点都受到影响并暂时停止抓取。
如果您知道该页面何时可以再次使用,您可以发送 Retry-After
header:
When sent with a 503 (Service Unavailable) response, Retry-After indicates how long the service is expected to be unavailable to the client.
(FWIW,Googlebot seems to support this。)
在 post Website outages and blackouts the right way(当时由 Google 员工),就 Google 搜索而言,我的假设得到证实:503
也应该只用于特定页面;如果 Googlebot 得到许多 503
个答案,抓取速度可能会受到影响。
我们正在上传我们网站的新版本。 由于种种原因,旧版本中存在的一些页面还没有为新版本做好准备,我们需要暂时将其移除。
对于这些页面,我们应该 return 哪个 HTTP 状态,因为它们会在几天内再次 运行。
仅对这些页面使用 ServiceUnavailable = 503
是正确的方式还是会对整个网站产生负面影响?
(使用 ASP.NET 以防它以某种方式相关...)
这里的status code 503
似乎是最好的选择:
The 503 (Service Unavailable) status code indicates that the server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
在您的案例中,这不是由于过载或维护造成的,这应该无关紧要。相关的是这是你的错(因此来自 5xx
class 的状态代码),并且它是暂时的(因此 503
),所以没有必要让他们知道真实的原因。
虽然 503
通常用于整个网站,但我看不出为什么它不应该只用于特定页面。一个可能的缺点:如果机器人连续抓取了一些文档,给出 503
,它可能会认为整个站点都受到影响并暂时停止抓取。
如果您知道该页面何时可以再次使用,您可以发送 Retry-After
header:
When sent with a 503 (Service Unavailable) response, Retry-After indicates how long the service is expected to be unavailable to the client.
(FWIW,Googlebot seems to support this。)
在 post Website outages and blackouts the right way(当时由 Google 员工),就 Google 搜索而言,我的假设得到证实:503
也应该只用于特定页面;如果 Googlebot 得到许多 503
个答案,抓取速度可能会受到影响。