diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-30 08:24:42 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-30 08:24:42 +0000 |
commit | cc803ec8c257bea820e20927b38b5a5ae1fce7c6 (patch) | |
tree | 7782b46f062691dbb8e5da8f4a802b68aee46e5a | |
parent | 89d9493c84616eb423ab38248594f6d67cb867b5 (diff) | |
download | libmicrohttpd-cc803ec8c257bea820e20927b38b5a5ae1fce7c6.tar.gz libmicrohttpd-cc803ec8c257bea820e20927b38b5a5ae1fce7c6.zip |
clarifications to manual re: [libmicrohttpd] MHD_ContentReaderCallback and Byte serving
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | doc/libmicrohttpd.texi | 24 |
2 files changed, 20 insertions, 7 deletions
@@ -1,3 +1,6 @@ | |||
1 | Sat Apr 30 10:22:37 CEST 2016 | ||
2 | Added clarifications to manual based on questions on list. -CG | ||
3 | |||
1 | Sat Apr 23 20:12:01 CET 2016 | 4 | Sat Apr 23 20:12:01 CET 2016 |
2 | Tests perf_get_concurrent and test_concurrent_stop ported to use | 5 | Tests perf_get_concurrent and test_concurrent_stop ported to use |
3 | pthread instead of fork(). Added more error detections. -EG | 6 | 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. | |||
100 | 100 | ||
101 | The library is supposed to handle everything that it must handle | 101 | The library is supposed to handle everything that it must handle |
102 | (because the API would not allow clients to do this), such as basic | 102 | (because the API would not allow clients to do this), such as basic |
103 | connection management; however, detailed interpretations of headers --- | 103 | connection management. However, detailed interpretations of headers, |
104 | such as range requests --- and HTTP methods are left to clients. The | 104 | such as range requests, are left to the main application. In |
105 | library does understand @code{HEAD} and will only send the headers of | 105 | particular, if an application developer wants to support range |
106 | the response and not the body, even if the client supplied a body. The | 106 | requests, he needs to explicitly indicate support in responses and |
107 | library also understands headers that control connection management | 107 | also explicitly parse the range header and generate a response (for |
108 | (specifically, @code{Connection: close} and @code{Expect: 100 continue} | 108 | example, using the @code{MHD_create_response_from_fd_at_offset} call |
109 | are understood and handled automatically). | 109 | to serve ranges from a file). MHD does understands headers that |
110 | control connection management (specifically, @code{Connection: close} | ||
111 | and @code{Expect: 100 continue} are understood and handled | ||
112 | automatically). @code{Connection: upgrade} is not yet supported. | ||
113 | |||
114 | MHD also largely ignores the semantics of the different HTTP methods, | ||
115 | so clients are left to handle those. One exception is that MHD does | ||
116 | understand @code{HEAD} and will only send the headers of the response | ||
117 | and not the body, even if the client supplied a body. (In fact, | ||
118 | clients do need to construct a response with the correct length, even | ||
119 | for @code{HEAD} request.) | ||
110 | 120 | ||
111 | MHD understands @code{POST} data and is able to decode certain | 121 | MHD understands @code{POST} data and is able to decode certain |
112 | formats (at the moment only @code{application/x-www-form-urlencoded} | 122 | formats (at the moment only @code{application/x-www-form-urlencoded} |