MengJiangProject / redproxy-rs

Yet another proxy router
MIT License
10 stars 0 forks source link

Feature request: HTTP/2 and HTTP/3 CONNECT proxy support #319

Open alpominth opened 1 year ago

alpominth commented 1 year ago

As far as I know, redproxy-rs ony supports CONNECT 1.1 method (HTTP/1.1).

A very good idea is to implement support for HTTP/2 and HTTP/3 (QUIC).

There is that project that supports them: https://github.com/yinqiwen/gsnova

But that project is deprecated and is written in Go.

There is already a QUIC HTTP/1.1 support but is incomplete.

@bearice

These crates implement HTTP/3 CONNECT proxy:

https://github.com/quinn-rs/quinn https://github.com/hyperium/h3

This implements HTTP/2 CONNECT proxy:

https://github.com/hyperium/h2

Remembering that HTTP/3 works only with a UDP QUIC connector.

bearice commented 1 year ago

I don't think muxing multi TCP connections into a HTTP2 connection is a good idea because of head-of-line blocking And for HTTP3, it is basiclly HTTP2 over QUIC, we have HTTP1.1 over QUIC already so I dont think it's a that important to implement. But it can be planed along with RFC9298