Subject: Connection coalescing aka. HTTP/2 Connection reuse

From: Lucas Pardue <[email-masked]>
Date: Thu, 16 Nov 2017 19:46:39 +0000

Hello,

To start, this area is distinct from the connection migration discussion.

RFC 7540 Section 9.1.1 discusses connection reuse, also known informally as h2 connection coalescing.

I wondered how the HTTP/QUIC mapping handled this concept but a search didn't yield me an answer. I wondered if the concept was more transport-level but couldn't find anything there either.

Is this a "thing" in QUIC? Are there any special consideration that need be paid, apart from the mechanical transpilation?

Kind regards
Lucad

-----------------------------
http://www.bbc.co.uk
This e-mail (and any attachments) is confidential and
may contain personal views which are not the views of the BBC unless specifically stated.
If you have received it in
error, please delete it from your system.
Do not use, copy or disclose the
information in any way nor act in reliance on it and notify the sender
immediately.
Please note that the BBC monitors e-mails
sent or received.
Further communication will signify your consent to
this.
-----------------------------

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 Nov 2017 23:49:25 +0000

You're right, we should probably add some text on it.  As a first pass, note that there is no way to directly address an HTTP/QUIC endpoint by URI/URL.  So an HTTP/QUIC endpoint is somewhat analogous to an HTTP/2 endpoint for an origin which doesn't appear in the DNS record.

With that as our starting point, here are some thoughts:

  *   The only reason you're speaking HTTP/QUIC for example.com in the first place is because you have an Alt-Svc record for example.com.  If you have Alt-Svc records for other origins that happen to share the same certificate pointing to the same host:port, this should be coalesced.
     *   It seems a pity that you would need to speak individually to each origin for this.  Coincidentally, Ben Schwartz and I were having a conversation about reviving Alt-Svc records in DNS....
  *   In the absence of Alt-Svc records, draft-ietf-httpbis-origin-frame permits coalescing in HTTP/2 based on the combination of the server's possession of the correct certificate and assertion that it wants the traffic.  Like #371<https://github.com/quicwg/base-drafts/issues/371>, there would need to be a very short draft that defines the ORIGIN frame for HTTP/QUIC as Exceptionally Similar(tm) to the one in draft-ietf-httpbis-origin-frame.

I've opened #940<https://github.com/quicwg/base-drafts/issues/940> to track this.

-----Original Message-----
From: QUIC [mailto:[email-masked]] On Behalf Of Lucas Pardue
Sent: Friday, November 17, 2017 3:47 AM
To: IETF QUIC WG <[email-masked]>
Subject: Connection coalescing aka. HTTP/2 Connection reuse

Hello,

Kind regards

Lucad

http://www.bbc.co.uk

This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated.

information in any way nor act in reliance on it and notify the sender immediately.

Please note that the BBC monitors e-mails sent or received.

Further communication will signify your consent to this.

---

From: Lucas Pardue <[email-masked]>
Date: Fri, 17 Nov 2017 02:03:29 +0000

Hi Mike,

Sounds like a good starter for ten. I'll follow that ticket.

In simple terms, how do we imagine this would look once a client has decided to coalesce? Would it be a singular connection ID on which HTTP/QUIC HEADER frames carry requests with different :authority pseudo-headers as required?

I had initially worried there might be some complexities using a coalesced connection but am coming around to thinking its not so bad. Deciding when and what to coalesce seems like the trickier bit.

Lucas

From: Mike Bishop [mailto:[email-masked]]
Sent: 16 November 2017 23:49
To: Lucas Pardue <[email-masked]>; IETF QUIC WG <[email-masked]>
Subject: RE: Connection coalescing aka. HTTP/2 Connection reuse

-----Original Message-----
From: QUIC [mailto:[email-masked]] On Behalf Of Lucas Pardue
Sent: Friday, November 17, 2017 3:47 AM
To: IETF QUIC WG <[email-masked]<mailto:[email-masked]>>
Subject: Connection coalescing aka. HTTP/2 Connection reuse

Hello,

Kind regards

Lucad

http://www.bbc.co.uk

---

From: Mike Bishop <[email-masked]>
Date: Fri, 17 Nov 2017 07:54:04 +0000

Just like HTTP/2.  HEADERS frames have different :authority values, but it's the same connection.  Deciding what to coalesce is also just like HTTP/2 in the Alt-Svc case, just that there's no non-Alt-Svc case for HTTP/QUIC at the moment.

From: Lucas Pardue [mailto:[email-masked]]
Sent: Friday, November 17, 2017 10:03 AM
To: Mike Bishop <[email-masked]>; IETF QUIC WG <[email-masked]>
Subject: RE: Connection coalescing aka. HTTP/2 Connection reuse

Hi Mike,

Lucas

From: Mike Bishop [mailto:[email-masked]]
Sent: 16 November 2017 23:49
To: Lucas Pardue <[email-masked]<mailto:[email-masked]>>; IETF QUIC WG <[email-masked]<mailto:[email-masked]>>
Subject: RE: Connection coalescing aka. HTTP/2 Connection reuse

-----Original Message-----
From: QUIC [mailto:[email-masked]] On Behalf Of Lucas Pardue
Sent: Friday, November 17, 2017 3:47 AM
To: IETF QUIC WG <[email-masked]<mailto:[email-masked]>>
Subject: Connection coalescing aka. HTTP/2 Connection reuse

Hello,

Kind regards

Lucad

http://www.bbc.co.uk