README 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. ========
  2. lighttpd
  3. ========
  4. -------------
  5. a light httpd
  6. -------------
  7. :abstract:
  8. lighttpd a secure, fast, compliant and very flexible web-server
  9. which has been optimized for high-performance environments. It has a very
  10. low memory footprint compared to other webservers and takes care of cpu-load.
  11. Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
  12. URL-Rewriting and many more) make lighttpd the perfect webserver-software
  13. for every server that is suffering load problems.
  14. :documentation:
  15. https://redmine.lighttpd.net/projects/lighttpd/wiki/
  16. the naming
  17. ----------
  18. lighttpd is a __httpd__ which is
  19. - fast as __light__ning and
  20. - __light__ when it comes to memory consumption and system requirements
  21. Features
  22. --------
  23. Network
  24. ```````
  25. - IPv4, IPv6
  26. Protocols
  27. `````````
  28. - HTTP/2 (https://tools.ietf.org/rfc/rfc7540.txt)
  29. - HTTP/1.1 (https://tools.ietf.org/rfc/rfc2616.txt)
  30. - HTTP/1.0 (https://tools.ietf.org/rfc/rfc1945.txt)
  31. - HTTPS (via one of openssl, BoringSSL, LibreSSL, mbedTLS, wolfSSL, GnuTLS, NSS)
  32. - CGI/1.1 (https://tools.ietf.org/html/rfc3875.txt)
  33. - FastCGI (http://www.fastcgi.com/devkit/doc/fcgi-spec.html)
  34. Advanced Features
  35. `````````````````
  36. - load-balanced FastCGI, SCGI, reverse-proxy, socket proxy, websocket tunnel
  37. (one webserver distributes requests to multiple PHP-servers via FastCGI)
  38. - streaming FastCGI, SCGI, reverse-proxy, socket proxy, websocket tunnel
  39. - custom error pages (for Response-Code 400-599)
  40. - virtual hosts
  41. - directory listings
  42. - URL-Rewriting
  43. - HTTP-Redirection
  44. - output-compression with transparent caching
  45. FastCGI-Support
  46. ```````````````
  47. - parses the Response-header and completes the HTTP-header accordingly
  48. - Keep-Alive handling based on Content-Length header
  49. PHP-Support
  50. ```````````
  51. - same speed as or faster than apache + mod_php4
  52. - handles various PHP bugs in the FastCGI SAPI
  53. - includes a utility to spawn FastCGI processes (necessary for PHP 4.3.x)
  54. Security features
  55. `````````````````
  56. - chroot(), set UID, set GID
  57. - protecting docroot
  58. HTTP/1.1 features
  59. `````````````````
  60. - Ranges (start-end, start-, -end, multiple ranges)
  61. - HTTP/1.0 Keep-Alive + HTTP/1.1 persistent Connections
  62. - methods: GET, HEAD, POST
  63. - Last-Modified + If-Modified handling
  64. - sends Content-Length if possible
  65. - sends Transfer-Encoding: chunk, if Content-Length is not possible
  66. - sends Content-Type
  67. - on-the-fly output compression (deflate, gzip)
  68. - authentication: basic and digest
  69. (http://www.ietf.org/rfc/rfc2617.txt)
  70. HTTP/1.1 compliance
  71. ```````````````````
  72. - Sends 206 for Range Requests
  73. - Sends 304 for If-Modified Requests
  74. - Sends 400 for missing Host on HTTP/1.1 requests
  75. - Sends 400 for broken Request-Line
  76. - Sends 411 for missing Content-Length on POST requests
  77. - Sends 416 for "out-of-range" on Range: Header
  78. - Sends 501 for request-method != (GET|POST|HEAD)
  79. - Sends 505 for protocol != HTTP/1.0 or HTTP/1.1
  80. - Sends Date: on every requests
  81. Intended Audience
  82. -----------------
  83. - Ad-Server Front-Ends ("Banner-Schleuder")
  84. - delivering small files rapidly
  85. - php-servers under high load
  86. (load-balancing the php-request over multiple PHP-servers)
  87. Works with
  88. ----------
  89. It has been tested to work with
  90. - IE 6.0
  91. - Mozilla 1.x
  92. - Konqueror 3.1
  93. (for Keep-Alive/Persistent Connections, Accept-Encoding for PHP + gzip)
  94. - wget
  95. (for Resuming)
  96. - acrobat plugin
  97. (for multiple ranges)
  98. Works on
  99. --------
  100. lighttpd has been verified to compile and work on
  101. - Linux
  102. - FreeBSD
  103. - NetBSD
  104. - OpenBSD
  105. - Solaris 8 + 9
  106. - SGI IRIX 6.5
  107. - Windows (when compiled under cygwin)
  108. (and will likely compile and run on most unix-like systems with C99 compiler)
  109. -----------------
  110. Starting lighttpd
  111. -----------------
  112. As daemon in the background: ::
  113. $ lighttpd -f <configfile>
  114. or without detaching from the console: ::
  115. $ lighttpd -D -f <configfile>