H2O

the optimized HTTP/1.x, HTTP/2, HTTP/3 server

Powered by Oktavia

Frequently Asked Questions

What are the license terms?

H2O is licensed under the MIT license.
Portions of the software use following libraries that are also licensed under the MIT license: khash.h, PicoHTTPParser, libyaml.
Depending on how H2O is configured, the software links against OpenSSL or LibreSSL, both of which are dual-licensed under the OpenSSL License and the original SSLeay license.

Are there any design documents?

Please refer to the main developer's presentation slides at the HTTP/2 conference, and his weblog.

How do I use H2O as a library?

Aside from the standalone server, H2O can also be used as a software library. The name of the library is libh2o.

To build H2O as a library you will need to install the following dependencies:

In case the dependencies are installed under a non-standard path, PKG_CONFIG_PATH configuration variable can be used for specifying their paths. For example, the following snippet builds libh2o using the libraries installed in their respective paths.

% PKG_CONFIG_PATH=/usr/local/libuv-1.4/lib/pkgconfig:/usr/local/openssl-1.0.2a/lib/pkgconfig cmake .
% make libh2o

For more information, please refer to the GitHub issues tagged as libh2o.

I have a problem. Where should I look for answers?

Please refer to the GitHub issues tagged as FAQ.

Notes:

  1. libh2o cannot be linked against the bundled LibreSSL; see issue #290