a mirror of the embedded httpd http server for c and c++
#embedded #httpd #http-server #lightweight #embeddable #library

Christian Grothoff 32202485b0 update пре 17 година
doc 6aeb5a2af3 moved tutorial chapters to separate dir пре 17 година
m4 de01a4af74 libcurl detection macro пре 19 година
src 06fe8af2b9 use MHD_config.h пре 17 година
AUTHORS bb5fc0ba65 auth пре 17 година
COPYING 2ea86dd04a lgpl пре 18 година
ChangeLog cff975d1ff handle 0 as specified in documentation пре 17 година
INSTALL a7cd9f029a docus пре 18 година
Makefile.am 2d299ede39 fx пре 19 година
NEWS 1eecc125a9 more пре 19 година
README 32202485b0 update пре 17 година
acinclude.m4 075c3c4203 fixing z/OS build issues пре 17 година
bootstrap 425a9ca5ba automake пре 18 година
configure.ac 06fe8af2b9 use MHD_config.h пре 17 година

README

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.

libmicrohttpd should work well on GNU/Linux, BSD, OS X and W32.
We also have reports of users using it on vxWorks and z/OS.


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:
* documentation
* more testing


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 (SSL/TLS support)
- tutorial:
* clean up English
* make sure everything is accurate
* change example code to follow GNU coding conventions