【问题标题】:What status code to return when an invalidly generated link has been clicked?单击无效生成的链接时返回什么状态码?
【发布时间】:2017-10-27 20:34:08
【问题描述】:

考虑以下情况:
我有一个 MVC 设置,其中视图调用映射器以获取 href 属性的特定 URL。映射器持有使引用变得容易的键。

现在视图请求一个无效的键,所以映射器回复说/invalid_url。但是调度员知道这个 URL,当用户单击该链接时,会显示一条错误消息,告诉我们我们感觉有多糟糕。

但是如果 Google Bot 访问了这个无效的 URL 怎么办?

搜索引擎友好的状态代码是什么?我觉得 500 是合适的,因为它是服务器端故障。但这感觉像是一个暂时的错误,或者与 URL 无关,而是与内部机制有关。想到的另一个选项是 404。这也是有效的,因为请求的页面不存在。但是 4xx 错误是客户端错误(“您请求了错误的 URL。所以这基本上是您的错误”)。对我来说,这并不像是客户端错误。

我是不是想太多了?我应该只使用 404 吗?

【问题讨论】:

    标签: http http-status-codes


    【解决方案1】:

    当我有这样的问题时,我会参考http://www.restapitutorial.com/httpstatuscodes.html之类的网站

    5xx 错误代码表示服务器出错。但是您是说视图(客户端)请求了错误的密钥。这对我来说听起来像是一个客户端错误。虽然这不是用户的错,但 服务器 并不知道这一点,并且请求的 URL 确实不存在。所以 404 是合适的。

    但这是一个奇怪的情况,您仍然应该始终如一地解决客户端(?)请求错误 url 的潜在问题。

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多