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