Hi Ben,

It is also being proposed (and implemented by a number of organisations 
including Apple see: 
https://github.com/MikeBishop/dns-alt-svc/blob/master/svcb-implementations.md) 
that the ALPN (and IP address(es)) may be obtained via the new proposed “HTTPS” 
 DNS resource record request:
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https

Using this approach one can in principle pre-empt a “preface”, though clients 
would need to handle a potential discrepancy.

Best,

Piers O'Hanlon

> On 29 Jun 2021, at 20:10, [email protected] wrote:
>
> Hello all,
>
> When reading about QUIC, it comes to me as a better alternative of TCP, build 
> upon UDP.
> In this case, servers that run on TCP could easily also run on UDP/QUIC; 
> think about DNS, SMTP, FTP.
>
> Now there is also a new version of HTTP. HTTP/3. This version will be 
> transfered over QUIC by default.
> However, as I mentioned above, it could be possible to have "TCP protocols" 
> that use QUIC too.
> That makes me think about also transfering some old HTTP versions, for 
> example HTTP/0.9 (I came across a library that transfered HTTP/0.9 over QUIC).
> But also HTTP/1.0, HTTP/1.1 and HTTP/2 are possible.
>
> All older HTTP versions send the following request line: <METHOD> <PATH> 
> [VERSION] \n
> If an endpoint is directly accessed (without some negotiation), it will find 
> out the version directly by reading the first line.
> For 0.9 the version will be absent. For 2.0 this will be a preface with a PRI 
> method and * as path.
>
> When I think about running a HTTP server, I think about this:
>
> TCP (80) or TCP/SSL (443):
> - HTTP/0.9
> - HTTP/1.0
> - HTTP/1.1
> - HTTP/2.0
> - HTTP/3.0 (I think this is possible too)
>
> UDP/QUIC:
> - HTTP/0.9 (HTTP/0.9 but over QUIC)
> - HTTP/1.0 (HTTP/1.0 but over QUIC)
> - HTTP/1.1 (HTTP/1.1 but over QUIC)
> - HTTP/2.0 (HTTP/2.0 but over QUIC)
> - HTTP/3.0 (Default)
>
> However, if I listen for all versions on my HTTP-QUIC server, how am I 
> supposed to know that it is HTTP/3? Does HTTP/3 has a preface? And if not, 
> why not?
> I think the preface of HTTP/2 is great and I think it would be great in 
> HTTP/3 too: PRI * HTTP/3.0
>
> I would like to see a preface added to HTTP/3.0. It is only 18 extra bytes at 
> the beginning of the request. It could be ignored by some servers if they 
> want, but for servers that want to have backwards compatibility it would be a 
> great feature. (Luckily HTTP/3 is not a released standard yet.)
>
> Ben
>

Reply via email to