summaryrefslogtreecommitdiffstats
path: root/libraries/libmicrohttpd/README
blob: b8350d177e28c2332519cb1c3bf6b45474fd89be (plain)
GNU libmicrohttpd is a small C library that is supposed to make
it easy to run an HTTP server as part of another application. GNU
libmicrohttpd is free software and part of the GNU project. Key
features that distinguish libmicrohttpd from other projects are:

* C library: fast and small
* API is simple, expressive and fully reentrant
* Implementation is http 1.1 compliant
* HTTP server can listen on multiple ports
* Support for IPv6
* Support for incremental processing of POST data
* Creates binary of only 30k (without TLS/SSL support)
* Three different threading models
* Supported platforms include GNU/Linux, FreeBSD, OpenBSD, NetBSD,
  OS X, W32, Symbian and z/OS
* Optional support for SSL3 and TLS (requires libgcrypt)

libmicrohttpd was started because the author needed an easy way to add
a concurrent HTTP server to other projects. Existing alternatives were
either non-free, not reentrant, standalone, of terrible code quality
or a combination thereof. Do not use libmicrohttpd if you are looking
for a standalone http server, there are many other projects out there
that provide that kind of functionality already. However, if you
want to be able to serve simple WWW pages from within your C or C++
application, check it out.

libmicrohttpd is licensed under the GNU LGPL. If you disable HTTPS/SSL
support, you can also choose the second license, the eCos License.