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