1 | HTTP/3 Demo using OpenSSL QUIC and nghttp3
|
---|
2 | ==========================================
|
---|
3 |
|
---|
4 | This is a simple demo of how to use HTTP/3 with OpenSSL QUIC using the HTTP/3
|
---|
5 | library “[nghttp3](https://github.com/ngtcp2/nghttp3)”.
|
---|
6 |
|
---|
7 | The 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 |
|
---|
14 | The Makefile in this directory can be used to build the demo on \*nix-style
|
---|
15 | systems. You will need the `nghttp3` library and header file. On
|
---|
16 | Ubuntu, these can be obtained by installing the package `libnghttp3-dev`.
|
---|
17 |
|
---|
18 | Running the Demo
|
---|
19 | ----------------
|
---|
20 |
|
---|
21 | Depending 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
|
---|
23 | trusted root CA certificates can be found.
|
---|
24 |
|
---|
25 | After building by running `make`, run `./ossl-nghttp3-demo` with a hostname and
|
---|
26 | port as the sole argument:
|
---|
27 |
|
---|
28 | ```shell
|
---|
29 | $ make
|
---|
30 | $ LD_LIBRARY_PATH=../.. ./ossl-nghttp3-demo www.google.com:443
|
---|
31 | ```
|
---|
32 |
|
---|
33 | The demo produces the HTTP response headers in textual form as output followed
|
---|
34 | by the response body.
|
---|
35 |
|
---|
36 | See Also
|
---|
37 | --------
|
---|
38 |
|
---|
39 | - [nghttp3](https://github.com/ngtcp2/nghttp3)
|
---|