[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37147 - libmicrohttpd-docs/WWW
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37147 - libmicrohttpd-docs/WWW |
Date: |
Sun, 8 May 2016 01:12:49 +0200 |
Author: grothoff
Date: 2016-05-08 01:12:49 +0200 (Sun, 08 May 2016)
New Revision: 37147
Modified:
libmicrohttpd-docs/WWW/index.html
Log:
fixes from Therese Godefroy
Modified: libmicrohttpd-docs/WWW/index.html
===================================================================
--- libmicrohttpd-docs/WWW/index.html 2016-05-07 16:48:27 UTC (rev 37146)
+++ libmicrohttpd-docs/WWW/index.html 2016-05-07 23:12:49 UTC (rev 37147)
@@ -1,52 +1,26 @@
<!--#include virtual="/server/header.html" -->
-<!-- Parent-Version: 1.69 -->
-
-<!-- Instructions for adapting this boilerplate to a new project: -->
-
-<!-- 1. In the line above starting "Parent-Version:", remove the
- "$Revision...$" from around the revision number,
- leaving just Parent-Version: and the number. -->
-
-<!-- 2. Replace "baz" with the name of your project.
- You should be able to do this with search and replace;
- making sure that the search is case insensitive and
- that the case of the replacement matches the case
- of the string found. In Emacs, query-replace will do this
- when case-fold-search and case-replace are both non-nil
- and both search and replacement string are given in lower case. -->
-
-<!-- 3. Of course update the actual information according to your project,
- such as mailing lists, project locations, and maintainer name. -->
-
-<!-- 4. You can use the patch-from-parent script to semi-automate
- merging future changes to the boilerplate with your file:
-
http://web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/patch-from-parent?root=www&content-type=text%2Fplain
- -->
-
-<!-- If you would like to make sure your page validates with HTML5, that
- would be a good thing. To do that, change the first line from
- to /server/html5-header.html before trying the validation. Maybe
- someday we will be able to make /server/header be HTML5. -->
-
+<!-- Parent-Version: 1.79 -->
<title>Libmicrohttpd
- GNU Project - Free Software Foundation</title>
-<meta name="content-language" content="en">
-<meta name="description" content="a library for creating an embedded HTTP
server">
-<meta name="language" content="en">
-<meta name="author" content="Christian Grothoff">
-<meta name="keywords"
content="libmicrohttpd,http,daemon,server,library,C,LGPL,eCos,free,Linux,GNU,GPL,SSL,TLS,digest,authentication,SHOUTcast">
-<meta name="robots" content="index,follow">
-<meta name="revisit-after" content="28 days">
-<meta name="publisher" content="Christian Grothoff">
-<meta name="date" content="2015-10-4">
-<meta name="rights" content="(C) 2007-2015 by Christian Grothoff>";
-<meta http-equiv="expires" content="43200">
+<style type="text/css"><!--
+#content .emph-box { padding: .7em 1.2em; }
+--></style>
+<meta name="content-language" content="en" />
+<meta name="description" content="a library for creating an embedded HTTP
server" />
+<meta name="language" content="en" />
+<meta name="author" content="Christian Grothoff" />
+<meta name="keywords"
content="libmicrohttpd,http,daemon,server,library,C,LGPL,eCos,free,Linux,GNU,GPL,SSL,TLS,digest,authentication,SHOUTcast"
/>
+<meta name="robots" content="index,follow" />
+<meta name="revisit-after" content="28 days" />
+<meta name="publisher" content="Christian Grothoff" />
+<meta name="date" content="2015-10-4" />
+<meta name="rights" content="(C) 2007-2015 by Christian Grothoff" />
+<meta http-equiv="expires" content="43200" />
+<!--#include virtual="/server/gnun/initial-translations-list.html" -->
<!--#include virtual="/server/banner.html" -->
-<!--#set var="article_name" value="/server/standards/boilerplate" -->
-<!--#include virtual="/server/gnun/initial-translations-list.html" -->
<h2>GNU Libmicrohttpd</h2>
-
+<hr />
<p>
GNU libmicrohttpd is a small C library that is supposed to make it
easy to run an HTTP server as part of another application. GNU
@@ -53,6 +27,7 @@
GNU Libmicrohttpd is free software and part of the <a
href="http://gnu.org/">GNU project</a>. Key features that distinguish
GNU Libmicrohttpd from other projects are:
+</p>
<ul>
<li>C library: fast and small</li>
<li>API is simple, expressive and fully reentrant</li>
@@ -67,6 +42,7 @@
<li>Support for SSL3 and TLS (requires libgcrypt and libgnutls, optional)</li>
<li>Binary is only about 32k (without TLS/SSL support and other optional
features)</li>
</ul>
+<p>
GNU 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
@@ -79,7 +55,7 @@
<p>
GNU libmicrohttpd is a <a href="http://www.gnu.org/">GNU</a> package.
Our official GNU website can be found
-at <a
href="http://www.gnu.org/software/libmicrohttpd/">http://www.gnu.org/software/libmicrohttpd/</a>.
+at <a
href="/software/libmicrohttpd/">http://www.gnu.org/software/libmicrohttpd/</a>.
</p>
@@ -112,8 +88,9 @@
The latest version can be found on <a
href="http://ftpmirror.gnu.org/libmicrohttpd/">GNU mirrors</a>.
If the mirror does not work, you should be able to find them on the main FTP
server at
<a
href="ftp://ftp.gnu.org/gnu/libmicrohttpd/">ftp://ftp.gnu.org/gnu/libmicrohttpd/</a>.
-<br>
-Latest release is <a
href="http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.49.tar.gz">libmicrohttpd-0.9.49.tar.gz</a>.
+<p>
+ Latest release is <a
href="http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.49.tar.gz">libmicrohttpd-0.9.49.tar.gz</a>.
+</p>
</dd>
<dt>Windows</dt>
@@ -128,6 +105,7 @@
<p>
In addition to the brief documentation on this webpage, we
have various other forms of documentation available:
+</p>
<dl>
<dt><a
href="https://gnunet.org/svn/libmicrohttpd/src/include/microhttpd.h">microhttpd.h</a></dt>
<dd>This include file documents most of the API in detail.</dd>
@@ -204,10 +182,10 @@
under any of the other projects.</dd>
<dt>Subversion access</dt>
<dd>
-You can access the current development version of libmicrohttpd using
-<pre>$ svn checkout https://gnunet.org/svn/libmicrohttpd</pre><br>
-Our website is kept at
-<pre>$ svn checkout https://gnunet.org/svn/libmicrohttpd-docs</pre><br>
+<p>You can access the current development version of libmicrohttpd using</p>
+<pre class="emph-box">$ svn checkout https://gnunet.org/svn/libmicrohttpd</pre>
+<p>Our website is kept at</p>
+<pre class="emph-box">$ svn checkout
https://gnunet.org/svn/libmicrohttpd-docs</pre>
</dd>
<dt>Maintainers</dt>
@@ -220,7 +198,7 @@
<dl>
-<dt>Dependencies<dt>
+<dt>Dependencies</dt>
<dd>
GNU Libmicrohttpd can be used without any dependencies; however,
for SSL/TLS support we require
@@ -245,8 +223,11 @@
appropriate headers automatically, which may fail for more exotic
platforms.
+<p>
The following is a minimal example for GNU/Linux (included in the
distribution):
-<pre>
+</p>
+
+<pre class="emph-box">
#include <microhttpd.h>
#include <stdlib.h>
#include <string.h>
@@ -270,11 +251,11 @@
if (0 != strcmp(method, "GET"))
return MHD_NO; /* unexpected method */
- if (&dummy != *ptr)
+ if (&dummy != *ptr)
{
/* The first time only the headers are valid,
do not respond in the first round... */
- *ptr = &dummy;
+ *ptr = &dummy;
return MHD_YES;
}
if (0 != *upload_data_size)
@@ -302,7 +283,7 @@
atoi(argv[1]),
NULL,
NULL,
- &ahc_echo,
+ &ahc_echo,
PAGE,
MHD_OPTION_END);
if (d == NULL)
@@ -311,6 +292,7 @@
MHD_stop_daemon(d);
return 0;
}
+</pre>
</dd>
<dt>Threading models</dt>
<dd>
@@ -322,7 +304,7 @@
synchronization issues!) and may need to perform blocking operations
(such as extensive IO or running of code) to handle an individual
connection.
-<br>
+<p>
The second threading model, <tt>MHD_USE_SELECT_INTERNALLY</tt>, uses
only a single thread to handle listening on the port and processing of
requests. This model is preferable if spawning a thread for each
@@ -344,7 +326,8 @@
first model if you want to block on providing response data in the
callback, or the last model if you want to use a more event-driven
model with one big select loop.
-<br>
+</p>
+<p>
The third model combines a thread pool with
the <tt>MHD_USE_SELECT_INTERNALLY</tt> mode, which can benefit
implementations that require scalability. As said before, by default
@@ -359,7 +342,8 @@
<tt>MHD_USE_SELECT_INTERNALLY</tt> in combination with a thread pool
is typically the most scalable (but also hardest to debug) mode of
operation for MHD.
-<br>
+</p>
+<p>
The fourth threading model (used when no specific flag is given), uses
no threads. Instead, the main application must (periodically) request
file descriptor sets from MHD, perform a select call and then call
@@ -374,9 +358,11 @@
select loop to wake up and continue once the data is ready -- MHD will
unlist the socket from the write set if the application failed to
provide response data (this only happens in this mode).
-<br>
+</p>
+<p>
The testcases provided include examples for using each of the
threading modes.
+</p>
</dd>
<dt>Generating responses</dt>
<dd>
@@ -394,7 +380,7 @@
maybe too large to fit into memory. Finally, using a file descriptor
can be used on Linux systems to use the highly efficient
<tt>sendfile</tt> call for the file transfer.
-<br>
+<p>
A response is used by calling <tt>MHD_queue_response</tt> which sends
the response back to the client on the specified connection. Once
created, a response object can be used any number of times.
@@ -406,6 +392,7 @@
the response will be immediately destroyed -- destruction may be
delayed until sending of the response is complete on all connections
that have the response in the queue.
+</p>
</dd>
<dt>Queueing responses</dt>
<dd>
@@ -417,7 +404,7 @@
client attempts to queue multiple responses or attempts to queue a
response early, <tt>MHD_queue_response</tt> will fail (and return
<tt>MHD_NO</tt>).
-<br>
+<p>
The callback function for the respective URL will be called at least
twice. The first call happens after the server has received the
headers. The client should use the last <tt>void**</tt> argument to
@@ -443,6 +430,7 @@
response depending on the threading model that is used. If the
callback does not queue a response at this point, MHD will either
(eventually) timeout the connection or keep calling it.
+</p>
</dd>
<dt>Parsing of POST requests</dt>
<dd>
@@ -529,8 +517,8 @@
<li><a href="https://github.com/abique/mimosa">Mimosa (C++)</a></li>
<li><a href="https://github.com/ellzey/libevhtp/">libevhtp (C)</a></li>
<li><a href="https://github.com/wolkykim/libasyncd/">libasyncd (C)</a></li>
-<li><a href="https://embedthis.com/goahead/">goahead (C)</a>
-<li><a href="https://embedthis.com/appweb/">appweb (C)</a>
+<li><a href="https://embedthis.com/goahead/">goahead (C)</a></li>
+<li><a href="https://embedthis.com/appweb/">appweb (C)</a></li>
</ul>
</dd>
@@ -553,62 +541,49 @@
-<!-- If needed, change the copyright block at the bottom. In general,
- pages on the GNU web server should be under CC BY-ND 3.0 US.
- Please do NOT change or remove this without talking
- with the webmasters or licensing team first.
- Please make sure the copyright date is consistent with the document.
- For web pages, it is ok to list just the latest year the document
- was modified, or published.
-
- If you wish to list earlier years, that is ok too.
- Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
- years, as long as each year in the range is in fact a copyrightable
- year, i.e., a year in which the document was published (including
- being publicly visible on the web or in a revision control system).
-
- There is more detail about copyright years in the GNU Maintainers
- Information document, www.gnu.org/prep/maintain. -->
-
-
</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer">
+<div class="unprintable">
-<p><!-- WEBMASTERS: Replace address@hidden with address@hidden and
- remove this comment after completion. -->
-
-Please send general FSF & GNU inquiries to
+<p>Please send general FSF & GNU inquiries to
<a href="mailto:address@hidden"><address@hidden></a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF. Broken links and other corrections or suggestions can be sent
to <a href="mailto:address@hidden"><address@hidden></a>.</p>
-<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
- replace it with the translation of these two:
-
- We work hard and do our best to provide accurate, good quality
- translations. However, we are not exempt from imperfection.
- Please send your comments and general suggestions in this regard
- to <a href="mailto:address@hidden">
- <address@hidden></a>.</p>
-
- <p>For information on coordinating and submitting translations of
- our web pages, see <a
- href="/server/standards/README.translations.html">Translations
- README</a>. -->
-Please see the <a
+<p>Please see the <a
href="/server/standards/README.translations.html">Translations
README</a> for information on coordinating and submitting translations
of this article.</p>
+</div>
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 4.0. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+
<p>Copyright © 2012-2015 Free Software Foundation, Inc.</p>
<p>This page is licensed under a <a rel="license"
-href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
-Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
+Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
-<p>Updated:
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2013/03/28 09:00:55 $
<!-- timestamp end -->
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37147 - libmicrohttpd-docs/WWW,
gnunet <=