权威 http 头-在铬开发工具

Chrome dev tools-显示一些带有前导 :的 http 头文件(不知道为什么它只显示一些而不显示其他)。

其中之一是 http 头 authority,它显示为:

authority:api.somedomain.com

然而,这在维基百科上的 http 标题列表中被列出。这是一个新的 HTTP2头文件,还是可以在头文件中定义任何新的请求字段?

60178 次浏览

这些是在新的 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

你可以在 RFC7230第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

在 rfc7540中,提到了一些使用 HTTP/1. x 向下兼容的措施

为了确保 HTTP/1.1请求行能够被准确地重现,当从原始或星号形式的请求目标的 HTTP/1.1请求进行翻译时,必须省略这个伪头字段。直接生成 HTTP/2请求的客户端应该使用“ : authority”伪头字段,而不是 Host 头字段。将 HTTP/2请求转换为 HTTP/1.1的中介必须通过复制“ : authority”伪头字段的值来创建一个 Host 头字段,如果请求中没有该字段的话。