Live data from Hacker News

Mitmproxy 11: Full HTTP/3 Support

mitmproxy.org

11–20 of 80 posts

Re: Mitmproxy 11: Full HTTP/3 Support

#12
post #8
post #7

Earlier quoted context omitted.

http/3 seems to be an excellent opportunity to optimize HTMX or any of the libraries which leverage HTML fragments like JSX. The obvious advantage of http/3 is for gaming. The servers which run the frameworks have to http/3. In most cases the advantages should be transparent to the developers.

I’m curious what about HTTP/3 is particularly advantageous with HTMX?

A common use case of HTMX is sending fragments when scrolling.

Since http/3 uses udp to send the fragments, duplicate packet information doesn’t have to be sent.

Kind of funny the newer protocol effectively works in the opposite direction of GraphQl.

Re: Mitmproxy 11: Full HTTP/3 Support

#13
post #12
post #8

Earlier quoted context omitted.

I’m curious what about HTTP/3 is particularly advantageous with HTMX?

A common use case of HTMX is sending fragments when scrolling. Since http/3 uses udp to send the fragments, duplicate packet information doesn’t have to be sent. Kind of funny the newer protocol effectively works in the opposite direction of GraphQl.

[deleted]

Re: Mitmproxy 11: Full HTTP/3 Support

#14
post #9
post #6

Earlier quoted context omitted.

Depends. If they're running on the same box, the reverse proxy will be able to initiate tcp connections to the web server much more cheaply. Even if they're just in the same datacenter, the lower round trip latency will reduce the time for establishing TCP connections. Plus, the proxy might be load balancing across multiple instances of the backend.

Also browsers limit the number of HTTP/1.1 requests you can have in flight to a specific domain

The limit is much higher for proxies, though.

Re: Mitmproxy 11: Full HTTP/3 Support

#16
post #5
post #4

Do http/2 and http/3 offer any benefits if they are only supported by the reverse proxy but not the underlying web server? Most mainstream frameworks for JS/Python/Ruby don't support the newer http standards. Won't the web server be a bottleneck for the reverse proxied connection?

Probably not, but mitmproxy is not a reverse proxy for any production purpose. It’s for running on your local machine and doing testing of either low-level protocol or web security stuff.

> mitmproxy is not a reverse proxy for any production purpose

At a startup I was working on a few years ago, I set up mitmproxy in dev and eventually if memory serves right I also sometimes enabled it in prod to debug things.

That being said, we did not have a lot of users. We had in fact very very few users at the time.

Re: Mitmproxy 11: Full HTTP/3 Support

#17
post #4

Do http/2 and http/3 offer any benefits if they are only supported by the reverse proxy but not the underlying web server? Most mainstream frameworks for JS/Python/Ruby don't support the newer http standards. Won't the web server be a bottleneck for the reverse proxied connection?

Yes, because http/2 or http/3 will improve the reliability of the connection between the client and the reverse proxy. The connection between the reverse proxy and the underlying web server is usually much faster and more reliable, so that part would benefit much less from being upgraded to http/2 or http/3.

Re: Mitmproxy 11: Full HTTP/3 Support

#18
post #5

Earlier quoted context omitted.

Probably not, but mitmproxy is not a reverse proxy for any production purpose. It’s for running on your local machine and doing testing of either low-level protocol or web security stuff.

> mitmproxy is not a reverse proxy for any production purpose At a startup I was working on a few years ago, I set up mitmproxy in dev and eventually if memory serves right I also sometimes enabled it in prod to debug things. That being said, we did not have a lot of users. We had in fact very very few users at the time.

I’ve been patiently waiting for someone to write a howto that uses mitmproxy to transparently obtain acme certificates for any web servers that are behind it.

I’d totally pay a cloud provider to just do this and forward requests to my port 80 or 443 with self signed certificates.

Https+acme is already open to this attack vector, so why inconvenience myself by pretending it is not?

Re: Mitmproxy 11: Full HTTP/3 Support

#19

Thanks for the shoutout to Hickory. It’s always fun to see what people build with it. Nice work!

Thank you for your work on Hickory! It's super exciting to see how PyO3's Python Rust interop enables us to use a production-grade DNS library with Hickory and also a really solid user-space networking stack with smoltcp. These things wouldn't be available in Python otherwise.

Re: Mitmproxy 11: Full HTTP/3 Support

#20
post #4

Do http/2 and http/3 offer any benefits if they are only supported by the reverse proxy but not the underlying web server? Most mainstream frameworks for JS/Python/Ruby don't support the newer http standards. Won't the web server be a bottleneck for the reverse proxied connection?

One of the main promises of HTTP/3 is better performance under worse network conditions (e.g. no head-of-line blocking as in HTTP/2, connection migration, 0-RTT). For all of that HTTP/3 between client and proxy is really great. HTTP/3 between proxy and server is not required for that.
Post reply on HN