Subject: [quicwg/base-drafts] Target of HTTP version fallback (#1677)

From: Mike Bishop <[email-masked]>
Date: Thu, 16 Aug 2018 12:28:31 -0700

We added the version fallback error code to HTTP/2 because there were certain HTTP/1.1 scenarios which were difficult or impossible to support over the multiplexed transport for various reasons.  (Resources which returned raw formatted headers, WebSockets, chunk extensions, client certificates, etc.)

Are there things which aren't supported in HTTP/QUIC which *are* supported in HTTP/2, such that the fallback should be to HTTP/2?  Or should our fallback go straight to HTTP/1.1, since the things you can't do in HTTP/QUIC you probably also can't do in HTTP/2?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677

---

From: MikkelFJ <[email-masked]>
Date: Thu, 16 Aug 2018 20:31:11 +0000 (UTC)

At least the number of applications that are so tightly coupled with HTTP/2 today as to be a concern is probably very limited. The fact that there are (are could be) things that you could theoretically do in HTTP/2 but not in QUIC does not necessarily mean that you should. That is, unless there is a smoking gun in form of an important real world use case.

Otherwise, I'd say that having to support both HTTP/2 and HTTP/QUIC is just more complexity than it is worthwhile.

If it were like HTTP/2 had replaced the world, it would be different, but HTTP/1.1 is likely to outlive both HTTP/2 and QUIC v1.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#issuecomment-413675164

---

From: Martin Thomson <[email-masked]>
Date: Thu, 16 Aug 2018 17:22:42 -0700

Straight to HTTP/1.1 seems like a reasonable balance here.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#issuecomment-413722119

---

From: Ryan Hamilton <[email-masked]>
Date: Fri, 17 Aug 2018 16:03:42 -0700

What fallback are we referring to here? With HTTP over QUIC it is Alt-Svc which is used to discover QUIC servers. If QUIC is not working for that server, I would expect a User-Agent to mark that alternative as broken and fall back to using the origin directly. I would expect the User-Agent to use the "normal" logic for connecting to that origin. In that case of HTTPS, that would involve ALPN negotiation of HTTP/2 or HTTP/1.1. 

Do we need any more logic beyond this?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#issuecomment-414008618

---

From: Mike Bishop <[email-masked]>
Date: Fri, 17 Aug 2018 16:38:03 -0700

For HTTP/2, we used it when the resource did something that couldn’t be expressed in HTTP/2, either because of the protocol or because of our implementation:

  *   Client certificates couldn’t be used because HTTP/2 prohibits renegotiation (Secondary Certificates will fix that, eventually)
  *   Multi-leg auth protocols can’t be used because HTTP/2 doesn’t maintain links between multiple attempts on a request (there was a draft on how to fix that, but it was never adopted)
  *   Our implementation permitted resources to return raw-formatted headers, which obviously doesn’t play nicely with HPACK.  Thankfully, that was rarely exercised.

It’s not a failure to connect, but an indication that the request you made can’t be answered over HTTP/2 for some reason.  Most of those reasons apply equally to HTTP/QUIC.

From: Ryan Hamilton <[email-masked]>
Sent: Friday, August 17, 2018 4:04 PM
To: quicwg/base-drafts <[email-masked]>
Cc: Mike Bishop <[email-masked]>; Author <[email-masked]>
Subject: Re: [quicwg/base-drafts] Target of HTTP version fallback (#1677)

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<https://github.com/quicwg/base-drafts/issues/1677#issuecomment-414008618>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AEE2hSZTpftszSTKdKVkiZ5kxA4YucW4ks5uR0vNgaJpZM4WAcdw>.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#issuecomment-414013065

---

From: Ryan Hamilton <[email-masked]>
Date: Sat, 18 Aug 2018 00:46:49 +0000 (UTC)

Oh! You're talking about HTTP_1_1_REQUIRED? I see. Makes sense, I think...

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#issuecomment-414019785

---

From: Mike Bishop <[email-masked]>
Date: Tue, 21 Aug 2018 10:43:17 -0700

Closed #1677 via #1685.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1677#event-1800784236