xref: /openssl/demos/http3/README.md (revision 22fa1602)
1HTTP/3 Demo using OpenSSL QUIC and nghttp3
2==========================================
3
4This is a simple demo of how to use HTTP/3 with OpenSSL QUIC using the HTTP/3
5library “[nghttp3](https://github.com/ngtcp2/nghttp3)”.
6
7The demo is structured into two parts:
8
9- an adaptation layer which binds nghttp3 to OpenSSL's QUIC implementation
10  (`ossl-nghttp3.c`);
11- a simple application which makes an HTTP/3 request using this adaptation
12  layer (`ossl-nghttp3-demo.c`).
13
14The Makefile in this directory can be used to build the demo on \*nix-style
15systems.  You will need the `nghttp3` library and header file.  On
16Ubuntu, these can be obtained by installing the package `libnghttp3-dev`.
17
18Running the Demo
19----------------
20
21Depending on your system configuration it may be necessary to set the
22`SSL_CERT_FILE` or `SSL_CERT_DIR` environment variables to a location where
23trusted root CA certificates can be found.
24
25After building by running `make`, run `./ossl-nghttp3-demo` with a hostname and
26port as the sole argument:
27
28```shell
29$ make
30$ LD_LIBRARY_PATH=../.. ./ossl-nghttp3-demo www.google.com:443
31```
32
33The demo produces the HTTP response headers in textual form as output followed
34by the response body.
35
36See Also
37--------
38
39- [nghttp3](https://github.com/ngtcp2/nghttp3)
40