例如,我可能想通过对版本化资源的 HEAD 请求的 409 响应返回资源的当前序列号,但我可能不会在响应实体中提供它,因为 HEAD 不允许任何。另一个示例:假设由于版本冲突,对提交端点的 POST 请求失败。我可以用 409 响应,但有时我可能想额外通知客户端它正在提交的事务已超过最大重试次数,进一步尝试将不会成功。我可能会回来HTTP/1.1 409 Conflict/final
而不是 HTTP/1.1 409 Conflict
在这种情况下。我的问题是,这是可以接受的做法吗? HTTP 1.1 RFC 没有为这个问题提供明确的答案。
我知道我可以将此类信息放在 X-...
HTTP header 中,或者以某种方式(附加 XML 标记或 JSON 属性等)将此信息包含在响应实体中。假设我如果可以的话,我不能或不想这样做。
最佳答案
原因短语很适合调试;但仅此而已。它在 HTTP/2 中消失了,可能会被中介和/或软件库丢失;不要依赖它的保存。
关于rest - 可以将语义信息放入 REST API 的 HTTP 原因短语中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26732098/