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