libmicrohttpd 0.9.37

Free and small HTTP server library
libmicrohttpd is a free and open source small C library that is supposed to make it easy to run an HTTP server as part of another application.

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.

Main features:

  • 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 and z/OS
  • Optional support for SSL3 and TLS (requires libgcrypt)

last updated on:
June 3rd, 2014, 22:39 GMT
file size:
1.2 MB
developed by:
Christian Grothoff
license type:
operating system(s):
Mac OS X
binary format:
Universal Binary
Home \ Development \ Libraries


In a hurry? Add it to your Download Basket!

user rating



1 Screenshot
libmicrohttpd - A file server exemple created using the libmicrohttpd C library.
What's New in This Release:
  • Added back unescaping for URI path (#3413) but without unescaping '+' (#3371) to remain compatible with MHD 0.9.34 and before. Note that applications providing a custom MHD_OPTION_UNESCAPE_CALLBACK are no longer expected to replace '+' with ' ', as that is now done separately for the locations where this transformation is appropriate.
read full changelog

Add your review!