我正在构建一个 API,我需要在消息通过我的系统时对其进行跟踪。为此,我计划使用 X-Correlation-Id HTTP header ,但这里遇到了问题。
首先,X- 前缀已被弃用并且不鼓励使用。这会给我留下 Correlation-Id。
其次,我打算使用连字符,但当我正在阅读 https://www.rfc-editor.org/rfc/rfc7230 时我意识到连字符没有在任何地方明确命名。 section-3.2.6提及排除的字符 - 这些字符不能用于 http header 分隔符?
第三,由于 HTTP header 不区分大小写,我是否应该将所有预期的 header 定义为小写?我这么问是因为我做的研究越多,我发现的变化就越多。有些 API 的 header 大写,有些则没有。有些使用连字符,有些使用下划线。
对于这些东西有明确的指导方针吗?我告诉我的老板,使用驼峰命名法作为 HTTP header 并不是最佳选择,但我找不到任何相关指南。
最佳答案
只要使用是私有(private)的,字段名称并不重要。如有疑问,请使用“应用程序名称”而不是“X”。
字段名称使用“标记”ABNF,并且包含“-”。
由于它们不区分大小写,因此您如何“定义”它们并不重要。如果有疑问,请使用与 HTTP 规范相同的约定。 CamelCase 尤其没有帮助,因为 HTTP/2(和 3)会将网络上的所有内容都小写。
关于rest - HTTP header 背后的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65903000/