在设计REST API
时,在执行http请求时添加unique request identifier
的最佳做法是什么?
我通常会将其作为x-request-id
添加到标题中,但今天听到有人提到将其作为查询字符串添加到url中!
同样在做了一些研究之后,似乎有些人将其添加到响应体中,并将其作为有效载荷的一部分发送!
在这三个中,哪一个是unique request identifier
的最佳应用,为什么?每种方法可能有哪些优点和缺点?
HTTP不包括任何请求标识符。
但是,如果您需要一个(用于调试或日志增强,例如(,您可以使用自己选择的头。X-Request-Id
、X-Correlation-Id
和X-Trace-Id
等标头对于您的评论中描述的场景来说很好:在内部微服务架构中通过多个请求跟踪请求。
此类标头的值可以是UUID。
这篇文章可能会给你一些见解。还可以看看齐普金。