mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
About
|
|
=====
|
|
|
|
libmicrohttpd is a GNU library (part of the GNU project) written in C
|
|
that provides a compact API and implementation of an HTTP 1.1 web
|
|
server. libmicrohttpd only implements the HTTP 1.1 protocol. The
|
|
main application must still provide the content.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
If you are using Subversion, run "autoreconf -fi" to create configure.
|
|
|
|
In order to run the testcases, you need a recent version of libcurl.
|
|
libcurl is not required if you just want to install the library.
|
|
|
|
|
|
Configure options
|
|
=================
|
|
|
|
Especially for development, use "--enable-messages" to enable error
|
|
reporting (and use MHD_USE_DEBUG). Error reporting is not enabled by
|
|
default to reduce the size of the library (error messages take
|
|
space!). If you are concerned about space, you should set "CFLAGS" to
|
|
"-Os -fomit-frame-pointer" to have gcc generate tight code. The
|
|
resulting binary should be about 25k depending on the platform (I
|
|
got 25884 bytes using "-march=pentium4").
|
|
|
|
Portability
|
|
===========
|
|
|
|
The latest version of libmicrohttpd will try to avoid SIGPIPE on its
|
|
sockets. This should work on OS X, Linux and recent BSD systems (at
|
|
least). On other systems that may trigger a SIGPIPE on send/recv, the
|
|
main application should install a signal handler to handle SIGPIPE.
|
|
|
|
|
|
Development Status
|
|
==================
|
|
|
|
This is a beta release. Below we list things that should be
|
|
implemented (in order of importance) before we can claim to be
|
|
reasonably complete. #XXXX refers to the respective Mantis bug report
|
|
(or feature request).
|
|
|
|
|
|
|
|
Missing features:
|
|
=================
|
|
- SSL support:
|
|
* define appropriate MHD_OPTIONs (#1225)
|
|
* actual implementation (#1225)
|
|
|
|
|
|
Untested features:
|
|
==================
|
|
- add testcases for http/1.1 pipelining (need
|
|
to figure out how to ensure curl pipelines
|
|
-- and it seems libcurl has issues with pipelining,
|
|
see http://curl.haxx.se/mail/lib-2007-12/0248.html)
|
|
- add testcases for resource limit enforcement
|
|
- add testcases for client queuing early response,
|
|
suppressing 100 CONTINUE
|
|
- extend testcase for chunked encoding to validate
|
|
handling of footers
|
|
|
|
|
|
Missing documentation:
|
|
======================
|
|
- manual (texinfo, man)
|
|
- tutorial
|
|
|
|
|