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