我的Web应用程序上有一个端点,它从客户端获取数据,一旦收集到足够的数据,就会执行一项操作。如果此操作的结果无效,我需要通知客户端必须重做此操作。
我可以在其中发送带有某种标志的回复,但如果已经为此目的存在状态代码,我宁愿使用它。
查看状态代码here的定义,似乎没有一个是合适的,但是,如果我只考虑名称而不是描述,状态代码 406不可接受听起来最合适。
答案 0 :(得分:0)
406 Not Acceptable 不合适,因为状态代码用于内容协商:
406(Not Acceptable)状态代码表示目标 资源没有当前的表示形式 根据主动协商,用户代理可以接受 请求中收到的标头字段(第5.3节)和服务器 不愿意提供默认表示。 - https://tools.ietf.org/html/rfc7231#section-6.5.6
202接受似乎更好:
202(已接受)状态代码表示请求已被执行 接受处理,但处理尚未完成。 - https://tools.ietf.org/html/rfc7231#section-6.3.3
...但我不确定状态代码的用途是否符合你的目的:
202回复是故意不置可否的。其目的是为了 允许服务器接受某个其他进程的请求(也许是 没有的批处理过程,每天只运行一次 要求用户代理与服务器的连接保持不变 直到过程完成。 - https://tools.ietf.org/html/rfc7231#section-6.3.3
通常,http响应不会明确请求用户代理发送其他信息。我知道的唯一状态代码是 401 Unauthorized ,它会请求授权标头。您可能需要为自己的目的设计自己的状态代码。请咨询HTTP Working Group mailing list的人。