libmicrohttpd-tutorial.texi 4.2 KB

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