http3-client

HTTP/3 client

Quiche is Cloudflare's own implementation of the QUIC transport protocol and HTTP/3 as specified by the IETF. It contains a simple HTTP/3 client developed and supported by us, and is the easiest way to experiment with our edge QUIC implementation.

Installing from source

$ git clone --recursive https://github.com/cloudflare/quiche.git
$ cd quiche
$ cargo build --examples
$ cd target/debug/examples

Using the quiche http3-client

The quiche http3-client can be used to issue HTTP/3 requests to a target URL. This will perform the QUIC handshake and if successful issue the request. By default, http3-client only logs the response body to standard out. You can control log visibility using the RUST_LOG environment variable e.g. RUST_LOG=info; either export this or pass it directly into the command. The info log level shows some basic information about interactions, trace shows a lot of information including transmission (tx) and reception (rx) of QUIC frames.

$ RUST_LOG="info" ./http3-client https://cloudflare-quic.com

You can also try requesting a larger file:

$ RUST_LOG=info ./http3-client https://probe.cloudflareboltprobes.com/objects/30k.png
Can I use clients other than quiche?

Yes, users can use HTTP/3 clients from other companies. Our server implementation of HTTP/3 & QUIC has no affinity or dependency on the client.