diff options
authorChristian Grothoff <>2016-04-30 08:24:42 +0000
committerChristian Grothoff <>2016-04-30 08:24:42 +0000
commitcc803ec8c257bea820e20927b38b5a5ae1fce7c6 (patch)
parent89d9493c84616eb423ab38248594f6d67cb867b5 (diff)
clarifications to manual re: [libmicrohttpd] MHD_ContentReaderCallback and Byte serving
2 files changed, 20 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d140547f..39404ccf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+Sat Apr 30 10:22:37 CEST 2016
+ Added clarifications to manual based on questions on list. -CG
Sat Apr 23 20:12:01 CET 2016
Tests perf_get_concurrent and test_concurrent_stop ported to use
pthread instead of fork(). Added more error detections. -EG
diff --git a/doc/libmicrohttpd.texi b/doc/libmicrohttpd.texi
index 43833cd6..497595cc 100644
--- a/doc/libmicrohttpd.texi
+++ b/doc/libmicrohttpd.texi
@@ -100,13 +100,23 @@ library.
The library is supposed to handle everything that it must handle
(because the API would not allow clients to do this), such as basic
-connection management; however, detailed interpretations of headers ---
-such as range requests --- and HTTP methods are left to clients. The
-library does understand @code{HEAD} and will only send the headers of
-the response and not the body, even if the client supplied a body. The
-library also understands headers that control connection management
-(specifically, @code{Connection: close} and @code{Expect: 100 continue}
-are understood and handled automatically).
+connection management. However, detailed interpretations of headers,
+such as range requests, are left to the main application. In
+particular, if an application developer wants to support range
+requests, he needs to explicitly indicate support in responses and
+also explicitly parse the range header and generate a response (for
+example, using the @code{MHD_create_response_from_fd_at_offset} call
+to serve ranges from a file). MHD does understands headers that
+control connection management (specifically, @code{Connection: close}
+and @code{Expect: 100 continue} are understood and handled
+automatically). @code{Connection: upgrade} is not yet supported.
+MHD also largely ignores the semantics of the different HTTP methods,
+so clients are left to handle those. One exception is that MHD does
+understand @code{HEAD} and will only send the headers of the response
+and not the body, even if the client supplied a body. (In fact,
+clients do need to construct a response with the correct length, even
+for @code{HEAD} request.)
MHD understands @code{POST} data and is able to decode certain
formats (at the moment only @code{application/x-www-form-urlencoded}