- From: Martin Thomson <martin.thomson@gmail.com>
- Date: Tue, 2 Sep 2014 17:22:51 -0700
- To: "Roy T. Fielding" <fielding@gbiv.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
On 2 September 2014 16:55, Martin Thomson <martin.thomson@gmail.com> wrote: > I'll send out proposed change sets once I've bashed on this a little First, removal from 10.1: REMOVE: - A client is only able to accept HTTP/2 responses from servers that are authoritative for - those resources. This is particularly important for <xref target="PushResources">server - push</xref>, where the client validates the <x:ref>PUSH_PROMISE</x:ref> before accepting - the response. REMOVE: - A client MUST discard responses provided by a server that is not authoritative for those - resources. Both of these statements simply aren't true in the proxy case. Second, rewording 9.1.1 to allow for the proxy stuff: OLD: - Clients MAY use a single server connection to send requests for URIs with multiple - different authority components as long as the server is <xref - target="authority">authoritative</xref>. NEW: + Connections that are made to origin servers without a proxy or tunnels created using the + <xref target="CONNECT">CONNECT method</xref> MAY be reused for requests with multiple + different URI authority components. A connection can be reused as long as the server is + <xref target="authority">authoritative</xref>. KEEP: For <spanx style="verb">http</spanx> resources, this depends on the host having resolved to the same IP address. For <spanx style="verb">https</spanx> resources, connection reuse additionally depends on having a certificate that is valid for the host in the URI. OLD: - That is the use of - server certificate with multiple <spanx style="verb">subjectAltName</spanx> attributes, - or names with wildcards. For example, a certificate with a <spanx - style="verb">subjectAltName</spanx> of <spanx style="verb">*.example.com</spanx> might - permit the use of the same connection for <spanx style="verb">a.example.com</spanx> and - <spanx style="verb">b.example.com</spanx>. NEW: + That is the use of + on having a certificate that is valid for the host in the URI. A server might offer a + certificate with multiple <spanx style="verb">subjectAltName</spanx> attributes, or + names with wildcards, one of which is valid for the authority in the URI. For example, + a certificate with a <spanx style="verb">subjectAltName</spanx> of <spanx + style="verb">*.example.com</spanx> might permit the use of the same connection for + requests to URIs starting with <spanx style="verb">https://a.example.com/</spanx> and + <spanx style="verb">https://b.example.com/</spanx>. KEEP: In some deployments, reusing a connection for multiple origins can result in requests being directed to the wrong origin server. For example, TLS termination might be performed by a middlebox that uses the TLS <xref target="TLS-EXT">Server Name Indication (SNI)</xref> extension to select an origin server. This means that it is possible for clients to send confidential information to servers that might not be the intended OLD: - target for the request, even though the server has valid authentication credentials. NEW: + target for the request, even though the server is otherwise authoritative. ADD: + A client that is configured to use a proxy directs requests to that proxy through a + single connection. That is, all requests sent via a proxy reuse the connection to the + proxy. And I found some collateral in the description of push: OLD: - Clients receiving a pushed response MUST validate that the server is authoritative for - it; see <xref target="authority"/>. For example, a server that offers a certificate for - only the <spanx style="verb">example.com</spanx> DNS-ID or Common Name is not permitted - to push a response for <spanx style="verb">https://www.example.org/doc</spanx>. NEW: + Clients receiving a pushed response MUST validate that either the server is + authoritative (see <xref target="authority"/>), or the proxy that provided the pushed + response is configured for the corresponding request. For example, a server that offers + a certificate for only the <spanx style="verb">example.com</spanx> DNS-ID or Common Name + is not permitted to push a response for <spanx + style="verb">https://www.example.org/doc</spanx>. I'll follow up with renaming of the status code.
Received on Wednesday, 3 September 2014 00:23:18 UTC