- From: Kari hurtta <hurtta-ietf@elmme-mailer.org>
- Date: Sat, 8 Oct 2016 08:42:00 +0300 (EEST)
- To: HTTP working group mailing list <ietf-http-wg@w3.org>
- CC: Kari hurtta <hurtta-ietf@elmme-mailer.org>
>
> > There's also a htmlized version available at:
> > https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-07
>
> 2. Using HTTP URIs over TLS
> https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-07#section-2
>
> | An origin server that supports the resolution of "http" URIs can
> | indicate support for this specification by providing an alternative
> | service advertisement [RFC7838] for a protocol identifier that uses
> | TLS, such as "h2" [RFC7540].
>
> This allows also other than "h2" (for example "http/1.1", which
> is HTTP/1.1 over TLS).
>
> 2.1. Alternative Server Opt-In
> https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-07#section-2.1
>
> | Clients MUST NOT send "http" requests over a connection with the "h2"
> | protocol identifier, unless they have obtained a valid http-
> | opportunistic response for an origin (as per Section 2.3), and:
>
> But this part is specific to "h2".
Continuing.
| Clients MUST NOT send "http" requests over a connection with the "h2"
| protocol identifier, unless they have obtained a valid http-
| opportunistic response for an origin (as per Section 2.3), and:
⇒
When client send "http" requests over a TLS connection request
request MUST include scheme. This means that when used with
protocol identifier "http/1.1" (TTP/1.1 over TLS), request uses
absoluteURI -form.
Client SHOULD NOT use a http-opportunistic response if requesting
of it invoked http-redirect.
Clients MUST NOT send "http" requests over a TLS connection, unless
they have obtained a valid http-opportunistic response for an origin
(as per Section 2.3), and:
(Also "SHOULD NOT" was suggested, I have no strong position for this.)
| o The chosen alternative service presents a certificate that is
| valid for the origin, as per [RFC2818] (this also establishes
| "reasonable assurances" for the purposes of {RFC7838}}), and
⇒ (no change)
| o The origin object of the http-opportunistic response has a `tls-
| ports' member, whose value is an array of numbers, one of which
| matches the port of the alternative service in question, and
⇒
o The origin object of the http-opportunistic response has a
"http-scheme-listeners" member, whose value is an array of
strings, one of which matches the name and port number of the
alternative service in question (on form "name:port"), and
( I suggested "mixed-scheme-listeners" -name first.
https://lists.w3.org/Archives/Public/ietf-http-wg/2016OctDec/0056.html
)
| o The chosen alternative service returns the same representation as
| the origin did for the http-opportunistic resource.
⇒ (no change)
| For example, this request/response pair would allow reqeusts for the
| origin "http://www.example.com" to be sent to an alternative service
| on port 443 or 8000 of the host "www.example.com":
⇒
For example, this request/response pair would allow reqeusts for the
origin "http://www.example.com" to be sent to an alternative service
on port 443 of the host "www.example.com" or on port 8000 of the host
"www2.example.com":
| GET /.well-known/http-opportunistic HTTP/1.1
| Host: www.example.com
|
| HTTP/1.1 200 OK
| Content-Type: application/json
| Connection: close
|
| {
| "http://www.example.com": {
| "tls-ports": [443, 8000],
| "lifetime": 2592000
| }
| }
⇒
GET http://www.example.com/.well-known/http-opportunistic HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
Connection: close
{
"http://www.example.com": {
"http-scheme-listeners": [ "www.example.com:443", "www2.example.com:8000" ],
"lifetime": 2592000
}
}
(Should "lifetime" also be dropped?)
2.3. The "http-opportunistic" well-known URI
https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-07#section-2.3
| o The origin object has a "lifetime" member, whose value is a number
| indicating the number of seconds which the origin object is valid
| for (hereafter, the "origin object lifetime"), and
|
| o The origin object lifetime is greater than the "current_age" (as
| per [RFC7234], Section 4.2.3).
|
| Note that origin object lifetime might differ from the freshness
| lifetime of the response.
It is noted "lifetime" member is no longer needed because there is no commit.
Then this request some rewrite, but I not try it now.
This means that http-opportunistic response have members
"mixed-scheme" and "http-scheme-listeners" members on the
the origin object.
/ Kari Hurtta
Received on Saturday, 8 October 2016 05:42:34 UTC