question about :authority header field

I first thought that :host was just renamed as :authority.
For HTTP/2 client, it is just so, but for HTTP/2 servers, the situation is
a bit more complicated.

According to the section-8.1.3.1, intermediary is supposed to the following
conversion. Is this correct?

* intermediary converting HTTP/1.1 request to HTTP/2

## origin-form
GET / HTTP/1.1
Host: example.org

->

:method: GET
:scheme: http
:path: /
host: example.org

## absolute-form
GET http://example.org/ HTTP/1.1
Host: example.org

->

:method: GET
:scheme: http
:authority: example.org
:path: /
host: example.org

## authority-form
CONNECT example.org:443 HTTP/1.1
Host: example.org

->

:method: CONNECT
:authority: example.org:443
host: example.org

## asterisk-form
OPTIONS * HTTP/1.1
Host: example.org

->

:method: OPTIONS
:scheme: http
:path: *
host: example.org


As described in origin-form and asterisk-form, HTTP/2 server is expected to
process the request which lacks :authority as valid, where in draft-06,
server rejects it if :host is missing. Is this correct?

Best regards,
Tatsuhiro Tsujikawa

Received on Wednesday, 23 October 2013 12:57:43 UTC