http - 自定义 HTTP header : naming conventions

标签 http http-headers

我们的一些用户要求我们将与其帐户相关的数据包含在我们发送给他们的请求的 HTTP header 中,甚至是他们从我们的 API 获得的响应中。 在命名格式...等方面,添加自定义 HTTP header 的一般约定是什么。

另外,请随意发布您在网络上偶然发现的这些的任何巧妙用法;我们正在尝试使用最好的方法作为目标来实现这一点:)

最佳答案

建议他们的名字以“X-”开头。例如。 X-Forwarded-For , X-Requested-With . a.o.中也提到了这一点。 RFC 2047 的第 5 节.


更新 1:2011 年 6 月,第一个 IETF draft已发布以弃用对非标准 header 使用“X-”前缀的建议。原因是当以“X-”为前缀的非标准 header 成为标准时,删除“X-”前缀会破坏向后兼容性,迫使应用程序协议(protocol)支持这两个名称(例如,x-gzip & gzip 现在是等效的)。因此,官方建议只合理地命名它们,不带“X-”前缀。


更新 2:2012 年 6 月,正式弃用使用“X-”前缀的建议 RFC 6648 .以下是相关的引用:

3. Recommendations for Creators of New Parameters

...

  1. SHOULD NOT prefix their parameter names with "X-" or similar constructs.

4. Recommendations for Protocol Designers

...

  1. SHOULD NOT prohibit parameters with an "X-" prefix or similar constructs from being registered.

  2. MUST NOT stipulate that a parameter with an "X-" prefix or similar constructs needs to be understood as unstandardized.

  3. MUST NOT stipulate that a parameter without an "X-" prefix or similar constructs needs to be understood as standardized.

请注意,“不应”(“不鼓励”)与“不得”(“禁止”)不同,另请参见 RFC 2119有关这些关键字的另一个规范。换句话说,您可以继续使用带“X-”前缀的 header ,但官方不再推荐它,您绝对不能将它们记录为公共(public)标准。


总结:

  • 官方建议只合理地命名它们,不带“X-”前缀
  • 您可以继续使用“X-”前缀的 header ,但官方不再推荐它,您绝对不能将它们作为公共(public)标准来记录

关于http - 自定义 HTTP header : naming conventions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561381/

相关文章:

javascript - 在 window.open 请求中添加 header 的可能方法

java - 确定我正在下载的文件的 MIME 类型

ruby-on-rails - 用于大型 XML 下载的快速 ruby​​ http 库

asp.net - 在自定义 ASP.NET HttpHandler 响应中禁用缓存控制 header 字段

java - 从 HTTP 请求中获取根域名之后的所有内容

http - 正确使用url编码

Android:在 ListView 中移动项目窗口?

forms - 如何在表单中添加 curl `-H` 参数?

asp.net - ASP.NET 中的 Request.Headers ["Header-Name"] 是否区分大小写?

PHP curl 将 Content-Type 更改为 application/x-www-form-urlencoded。不应该那样做