HTTP.jl icon indicating copy to clipboard operation
HTTP.jl copied to clipboard

HTTP/2 and HTTP/3 support?

Open ProvocaTeach opened this issue 3 years ago • 4 comments

Hi all,

I am using HTTP 0.9.17 and Julia 1.7.1. Right now, whenever I make an HTTP request, it seems the protocol used is HTTP/1.1.

I was wondering if HTTP.jl supports HTTP/2 or HTTP/3, and if not, when such support might be available. (I tried to find out if this question had been asked before, but I’m not sure the search bar liked the slashes in the version names. If this question has been asked before, please feel free to point me to the answer and close this issue!)

ProvocaTeach avatar Jan 17 '22 02:01 ProvocaTeach

HTTP.jl does not currently support HTTP/2 or HTTP/3. No timeline as of right now for when it will be supported. I'd like to add support for HTTP/2 soonish, but I have a lot on my plate, so it's hard to commit to a specific deadline.

quinnj avatar Jan 17 '22 15:01 quinnj

I'd like to add support for HTTP/2 soonish

HTTP/3 is out as a standard (not just QUIC it builds on, rather than TCP), so I think that should be the priority. I don't know if some of the work is shared with supporting HTTP/2, or if HTTP/2 should be totally ignored (gRPC needs it, not sure if it now would support HTTP/3).

I'm not saying you need to do this (nor this package, but if it doesn't, or will have HTTP3.jl as dependency at least if should link to such), and actually think we we must use C code. What cURL uses, i.e. it's upstream may be good.

PallHaraldsson avatar Jun 29 '22 15:06 PallHaraldsson

HTTP/3 is a massive change. It does things differently aka QUIC/UDP over TCP

AbhimanyuAryan avatar Nov 20 '22 22:11 AbhimanyuAryan

Does https://github.com/grlap/Nghttp3_jll.jl and https://github.com/grlap/Nghttp2.jl help? The latter has corresponding JLL, but the former has no corresponding non-JLL package, or that repo is empty.

PallHaraldsson avatar Mar 01 '24 14:03 PallHaraldsson