chrome dev工具 - 显示一些带有前导:
的http标头(不知道为什么它会与某些人一起而不是其他人)。
其中一个是http标头authority
,显示为:
authority:api.somedomain.com
然而,这列在维基百科上的http标题列表中。这是一个新的HTTP2标头还是可以在标头中定义任何新的请求字段 - 或者这些是固定的吗?
答案 0 :(得分:32)
这些是在新的HTTP / 2中定义的Pseudo-Header Fields
。
HTTP / 1.x使用消息start-line
来表示目标uri,请求方法,响应代码等。所有http消息都是从客户端到服务器的请求或从服务器到客户端的响应。这两种类型的区别在于start-line
,request-line
表示请求,status-line
表示响应。
request-line = method SP request-target SP HTTP-version CRLF
status-line = HTTP-version SP status-code SP reason-phrase CRLF
中阅读更多内容
但是为了这个目的,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”伪标头字段的值。“