什么是X-Forwarded-Proto HTTP头的完整规范?

什么是X-Forwarded-Proto HTTP头的完整规范?,http,http-headers,Http,Http Headers,什么是X-Forwarded-ProtoHTTP头值的完整规范?没有“完整规范”——这是事实上的标准。标题名称前面的X-通常*表示为实验性/非标准/特定于供应商。一旦它成为HTTP的标准部分,就会丢失前缀 IETF在标准化方面做了一些工作,但据我所知,它还处于起草阶段。请查看撰写本文时的最新草稿。但是要知道,当它被充实的时候,它可以在任何时候发生变化,现在还不要在生产中依赖它 更新: 现在定义了Forwarded:标题,用于替换X-Forwarded-*。如果您关心标准,我建议您改用它 *这曾

什么是
X-Forwarded-Proto
HTTP头值的完整规范?

没有“完整规范”——这是事实上的标准。标题名称前面的
X-
通常*表示为实验性/非标准/特定于供应商。一旦它成为HTTP的标准部分,就会丢失前缀

IETF在标准化方面做了一些工作,但据我所知,它还处于起草阶段。请查看撰写本文时的最新草稿。但是要知道,当它被充实的时候,它可以在任何时候发生变化,现在还不要在生产中依赖它

更新:

现在定义了
Forwarded:
标题,用于替换
X-Forwarded-*
。如果您关心标准,我建议您改用它


*这曾经是官方的事情,但现在已经不是了。反对
X-
前缀约定。不幸的是,该公约是如此广为人知(而反对意见则是如此低调),以至于IETF之外的大多数人可能会忽略该建议

我不知道“完整规范”

IETF APPSArea工作组最近决定定义一个新的标题字段“Forwarded”,该字段将取代您提到的“X-Forwarded-*”标题字段

详细信息请参见。

最后是从2014年6月开始的。标题在第5.4节中定义

一些例子:

Forwarded: proto=https
Forwarded: for=1.2.3.4;proto=http
我只是希望这不会花太多时间被广泛采用。由于缺少标准而导致标题多样性的示例(来自):

  • X-Forwarded-Proto:https
    (事实标准)
  • X-Forwarded-Protocol:https
  • X-Forwarded-Ssl:on
  • X-Url-Scheme:https
  • 前端Https:on

这是误导。“X-”前缀在HTTP头字段中并不特殊。您提到的Internet草稿定义了一个名为“Forwarded”的新标题字段,该字段用于替换在野外找到的“X-Forwarded-*”标题字段。而且,它已经被批准出版,所以我不希望对它有任何修改。它是作为一个互联网草稿出版的。根据定义,正如它自己的序言所述,它只应被视为“正在进行的工作”。依靠它,你将自担风险;到目前为止已经改变了13次。每次更改都会以相同的方式发布。说你喜欢的“X-”,但这是一个众所周知的惯例,已经有相当一段时间了。RFC并没有像IETF希望的那样,揭示15年以上的历史赵看到了草案的状态-因此草案已经得到了IESG的批准,除了编辑修改和重新格式化之外,不应该再做任何更改。如果您想吹毛求疵,我建议您参考IETF标准过程文档。关于“X-”:(1)它是为一些协议参数定义的,但不是为标头字段定义的。(2) 没有“不加修饰”的一般规则;通常,一旦部署了很多东西,就很难进行更改。RFC 72392014年6月。他们决定转发:proto=https。让我们看看供应商采用情况。相关:
Forwarded:for=192.0.2.60;proto=http;by=203.0.113.43
。。。。。。。RFC 7239,要想被采用还需要很长时间。有很多服务器需要更新才能解析新的HTTP头。我并不热衷于更新库、框架、服务器。。。等等,“标准”是被普遍使用并实际传递给新人的东西,而不是被挑选出来的智者祝福的东西。根据这样的定义,X-Forwarded-Proto是标准,RFC7239只是噪音。我倾向于同意,“没有人”使用
Forwarded:
这是一个没有人知道的新标准,每个人都在使用
X-Forwarded-*
。我偶然发现了RFC 7239。现在它是一个rfc,它将被采用,但新标准甚至比设置多个标题更复杂。HA代理现在定义标准了吗?所有这些都会使事情复杂化。现在您必须支持旧的非标准标准和新标准。