Html 没有重定向的内容不可用的HTTP状态代码

Html 没有重定向的内容不可用的HTTP状态代码,html,http-status-codes,Html,Http Status Codes,我试图为内容暂时不可用的页面找到正确的HTTP状态代码,但是没有重定向,相反,页面上会显示一条消息,通知用户内容暂时不可用 307临时重定向不适用,因为没有重定向 404 Not Found可能适用,但我不确定这是否是正确的响应,因为内容已找到,只是不可用 410消失了不适用,因为内容将在将来某个时候再次提供 其他代码似乎都不适用。有人知道要使用的正确代码并能解释原因吗?听起来4XX系列的回答在这里很合适。发件人: 4xx类状态代码适用于以下情况: 客户似乎犯了错误。除非在响应HEAD请求时,

我试图为内容暂时不可用的页面找到正确的HTTP状态代码,但是没有重定向,相反,页面上会显示一条消息,通知用户内容暂时不可用

307临时重定向
不适用,因为没有重定向

404 Not Found
可能适用,但我不确定这是否是正确的响应,因为内容已找到,只是不可用

410消失了
不适用,因为内容将在将来某个时候再次提供


其他代码似乎都不适用。有人知道要使用的正确代码并能解释原因吗?

听起来4XX系列的回答在这里很合适。发件人:

4xx类状态代码适用于以下情况: 客户似乎犯了错误。除非在响应HEAD请求时, 服务器应该包含一个实体,其中包含对 错误情况,以及它是临时的还是永久的 条件

考虑到这一点,我认为403禁止是最合适的:

10.4.4 403禁止

服务器理解该请求,但拒绝满足该请求。 授权没有帮助,请求不应重复。 如果请求方法不是HEAD并且服务器希望 公开为什么请求没有得到满足,它应该描述 实体中拒绝的原因。如果服务器不希望 将此信息提供给客户端,状态代码404 (未找到)可以改为使用

我建议这样做有三个原因:

  • 它不是外来代码,因此在浏览器中可以正常工作。对我来说,这是最重要的原因——你将能够提供一个页面,解释为什么内容不可用,并且你可以相当肯定它将正确显示

  • 服务器应该说“我理解您的请求,但我现在不会向您提供该内容”,这正是描述的前两行所说的

  • 它没有明确地对任何机器人(或者人)说“忘了你曾经知道这个内容”


  • 为了完整起见,以下是我排除其他响应代码类别的原因:

    2XX成功:此类状态代码表示客户端的请求已成功 成功地接受、理解和接受

    • 但是,在这种情况下,我们不接受这个请求。我认为2XX不对
    3XX重定向:此类状态代码表示需要执行进一步的操作 由用户代理执行以满足请求

    • 我想你可以争辩说“进一步行动”意味着“请等到内容可用后再重试”,但阅读其他3XX代码,“进一步行动”通常意味着“立即重定向”,正如你已经指出的,这是不合适的
    5XX服务器错误:以数字“5”开头的响应状态代码表示 服务器知道它出错或无法执行的操作 执行请求

    • 服务器上没有任何问题,您只是不想立即提供内容

    听起来4XX系列响应在这里是合适的。发件人:

    4xx类状态代码适用于以下情况: 客户似乎犯了错误。除非在响应HEAD请求时, 服务器应该包含一个实体,其中包含对 错误情况,以及它是临时的还是永久的 条件

    考虑到这一点,我认为403禁止是最合适的:

    10.4.4 403禁止

    服务器理解该请求,但拒绝满足该请求。 授权没有帮助,请求不应重复。 如果请求方法不是HEAD并且服务器希望 公开为什么请求没有得到满足,它应该描述 实体中拒绝的原因。如果服务器不希望 将此信息提供给客户端,状态代码404 (未找到)可以改为使用

    我建议这样做有三个原因:

  • 它不是外来代码,因此在浏览器中可以正常工作。对我来说,这是最重要的原因——你将能够提供一个页面,解释为什么内容不可用,并且你可以相当肯定它将正确显示

  • 服务器应该说“我理解您的请求,但我现在不会向您提供该内容”,这正是描述的前两行所说的

  • 它没有明确地对任何机器人(或者人)说“忘了你曾经知道这个内容”


  • 为了完整起见,以下是我排除其他响应代码类别的原因:

    2XX成功:此类状态代码表示客户端的请求已成功 成功地接受、理解和接受

    • 但是,在这种情况下,我们不接受这个请求。我认为2XX不对
    3XX重定向:此类状态代码表示需要执行进一步的操作 由用户代理执行以满足请求

    • 我想你可以争辩说“进一步行动”意味着“请等到内容可用后再重试”,但阅读其他3XX代码,“进一步行动”通常意味着“立即重定向”,正如你已经指出的,这是不合适的
    5XX服务器错误:响应状态代码以w开头