17

我需要返回哪个 HTTP 状态代码以指示“需要客户端软件更新”?例如,服务器改变了它曾经服务的数据格式,老客户端将无法使用它,因此客户端必须升级才能使用新数据。

我不想使用 404 或 410,因为我想表明它仍然是有效路径。415?没有把握。

4

4 回答 4

7

大多数评论者担心您在使用相同的 URI 时会破坏旧客户端,这是一个合理的担忧。这就是为什么许多 API 在 URI 本身中进行版本控制的原因。

也就是说,为什么不只是400?该请求来自旧客户端,因此这是一个错误的请求。

于 2017-08-10T21:59:10.823 回答
1

为什么不将支持的最低客户端版本作为元数据包含在 api 响应中?然后客户端可以根据需要检查并提示用户升级。无需使用特定的状态码,只需检查任何响应的元数据。

于 2018-10-04T10:34:51.770 回答
0

如果它仍然是有效路径,那么您的服务器应该继续支持它,而不是指示错误。

好像你问错了问题:-)

于 2012-04-22T17:54:21.727 回答
-8

426 需要升级

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

426 需要升级客户端应该切换到不同的协议,例如 TLS/1.0,在升级标头字段中给出。

于 2015-03-31T08:18:14.250 回答