权限http标头 - 在chrome dev工具中

时间:2016-03-15 19:00:41

标签: http google-chrome-devtools

chrome dev工具 - 显示一些带有前导:的http标头(不知道为什么它会与某些人一起而不是其他人)。

其中一个是http标头authority,显示为:

authority:api.somedomain.com

然而,这列在维基百科上的http标题列表中。这是一个新的HTTP2标头还是可以在标头中定义任何新的请求字段 - 或者这些是固定的吗?

1 个答案:

答案 0 :(得分:32)

这些是在新的HTTP / 2中定义的Pseudo-Header Fields

HTTP / 1.x使用消息start-line来表示目标uri,请求方法,响应代码等。所有http消息都是从客户端到服务器的请求或从服务器到客户端的响应。这两种类型的区别在于start-linerequest-line表示请求,status-line表示响应。

request-line   = method SP request-target SP HTTP-version CRLF

status-line = HTTP-version SP status-code SP reason-phrase CRLF

您可以在RFC7230 section 3.1

中阅读更多内容

但是为了这个目的,HTTP / 2使用以':'字符(ASCII 0x3a)开头的特殊伪头字段。严格定义此伪标头。有请求伪标头字段和响应伪标头字段。请求伪标头字段为:method:scheme:authority:path

The ":authority" pseudo-header field includes the authority portion of the target URI.

authority   = [ userinfo "@" ] host [ ":" port ]

RFC7540中阅读更多内容。

在HTTP / 1.x中,它与host标题字段等效。在RFC7540中,提到了一些与HTTP / 1.x

向后兼容的措施

“为了确保可以准确地再现HTTP / 1.1请求行,从具有源或星号形式的请求目标的HTTP / 1.1请求进行转换时,必须省略此伪头字段。直接生成HTTP / 2请求应该使用“:authority”伪头字段而不是Host头字段。将HTTP / 2请求转换为HTTP / 1.1的中介必须创建一个Host头字段(如果一个不存在)请求通过复制“:authority”伪标头字段的值。“