microhttpd-tutorial.texi 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. \input texinfo @c -*-texinfo-*-
  2. @finalout
  3. @setfilename microhttpd-tutorial.info
  4. @set UPDATED 28 Feb 2010
  5. @set UPDATED-MONTH Feb 2010
  6. @set EDITION 0.9.8
  7. @set VERSION 0.9.8
  8. @settitle A tutorial for GNU libmicrohttpd
  9. @dircategory GNU Libraries
  10. @direntry
  11. * libmicrohttpdtutorial: (microhttpd). A tutorial for GNU libmicrohttpd.
  12. @end direntry
  13. @copying
  14. This tutorial documents GNU libmicrohttpd version @value{VERSION}, last
  15. updated @value{UPDATED}.
  16. Copyright (c) 2008 Sebastian Gerhardt.
  17. Copyright (c) 2010, 2011 Christian Grothoff.
  18. @quotation
  19. Permission is granted to copy, distribute and/or modify this document
  20. under the terms of the GNU Free Documentation License, Version 1.3
  21. or any later version published by the Free Software Foundation;
  22. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  23. Texts. A copy of the license is included in the section entitled "GNU
  24. Free Documentation License".
  25. @end quotation
  26. @end copying
  27. @titlepage
  28. @title A Tutorial for GNU libmicrohttpd
  29. @subtitle Version @value{VERSION}
  30. @subtitle @value{UPDATED}
  31. @author Sebastian Gerhardt (@email{sebgerhardt@@gmx.net})
  32. @author Christian Grothoff (@email{christian@@grothoff.org})
  33. @author Matthieu Speder (@email{mspeder@@users.sourceforge.net})
  34. @page
  35. @vskip 0pt plus 1filll
  36. @insertcopying
  37. @end titlepage
  38. @contents
  39. @ifnottex
  40. @node Top
  41. @top Top
  42. @end ifnottex
  43. @menu
  44. * Introduction::
  45. * Hello browser example::
  46. * Exploring requests::
  47. * Response headers::
  48. * Supporting basic authentication::
  49. * Processing POST data::
  50. * Improved processing of POST data::
  51. * Session management::
  52. * Adding a layer of security::
  53. * Bibliography::
  54. * License text::
  55. * Example programs::
  56. @end menu
  57. @node Introduction
  58. @chapter Introduction
  59. @include chapters/introduction.inc
  60. @node Hello browser example
  61. @chapter Hello browser example
  62. @include chapters/hellobrowser.inc
  63. @node Exploring requests
  64. @chapter Exploring requests
  65. @include chapters/exploringrequests.inc
  66. @node Response headers
  67. @chapter Response headers
  68. @include chapters/responseheaders.inc
  69. @node Supporting basic authentication
  70. @chapter Supporting basic authentication
  71. @include chapters/basicauthentication.inc
  72. @node Processing POST data
  73. @chapter Processing POST data
  74. @include chapters/processingpost.inc
  75. @node Improved processing of POST data
  76. @chapter Improved processing of POST data
  77. @include chapters/largerpost.inc
  78. @node Session management
  79. @chapter Session management
  80. @include chapters/sessions.inc
  81. @node Adding a layer of security
  82. @chapter Adding a layer of security
  83. @include chapters/tlsauthentication.inc
  84. @node Bibliography
  85. @appendix Bibliography
  86. @include chapters/bibliography.inc
  87. @node License text
  88. @appendix GNU Free Documentation License
  89. @include fdl-1.3.texi
  90. @node Example programs
  91. @appendix Example programs
  92. @menu
  93. * hellobrowser.c::
  94. * logging.c::
  95. * responseheaders.c::
  96. * basicauthentication.c::
  97. * simplepost.c::
  98. * largepost.c::
  99. * sessions.c::
  100. * tlsauthentication.c::
  101. @end menu
  102. @node hellobrowser.c
  103. @section hellobrowser.c
  104. @smalldisplay
  105. @verbatiminclude examples/hellobrowser.c
  106. @end smalldisplay
  107. @node logging.c
  108. @section logging.c
  109. @smalldisplay
  110. @verbatiminclude examples/logging.c
  111. @end smalldisplay
  112. @node responseheaders.c
  113. @section responseheaders.c
  114. @smalldisplay
  115. @verbatiminclude examples/responseheaders.c
  116. @end smalldisplay
  117. @node basicauthentication.c
  118. @section basicauthentication.c
  119. @smalldisplay
  120. @verbatiminclude examples/basicauthentication.c
  121. @end smalldisplay
  122. @node simplepost.c
  123. @section simplepost.c
  124. @smalldisplay
  125. @verbatiminclude examples/simplepost.c
  126. @end smalldisplay
  127. @node largepost.c
  128. @section largepost.c
  129. @smalldisplay
  130. @verbatiminclude examples/largepost.c
  131. @end smalldisplay
  132. @node sessions.c
  133. @section sessions.c
  134. @smalldisplay
  135. @verbatiminclude examples/sessions.c
  136. @end smalldisplay
  137. @node tlsauthentication.c
  138. @section tlsauthentication.c
  139. @smalldisplay
  140. @verbatiminclude examples/tlsauthentication.c
  141. @end smalldisplay
  142. @bye