[build] fix link of test_configfile.c
[lighttpd.git] / README
blobe3dd31c068b5492ab796491a91c2358842a247fd
2 ========
3 lighttpd
4 ========
6 -------------
7 a light httpd
8 -------------
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.
18 :documentation:
19   https://redmine.lighttpd.net/projects/lighttpd/wiki/
21 the naming
22 ----------
24 lighttpd is a __httpd__ which is
26 - fast as __light__ning and
27 - __light__ when it comes to memory consumption and system requirements
29 Features
30 --------
32 Network
33 ```````
35 - IPv4, IPv6
37 Protocols
38 `````````
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)
46 Advanced Features
47 `````````````````
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
59 FastCGI-Support
60 ```````````````
62 - parses the Response-header and completes the HTTP-header accordingly
63 - Keep-Alive handling based on Content-Length header
65 PHP-Support
66 ```````````
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)
72 Security features
73 `````````````````
75 - chroot(), set UID, set GID
76 - protecting docroot
78 HTTP/1.1 features
79 `````````````````
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)
92 HTTP/1.1 compliance
93 ```````````````````
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
105 Intended Audience
106 -----------------
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)
113 Works with
114 ----------
116 It has been tested to work with
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)
128 Works on
129 --------
131 lighttpd has been verified to compile and work on
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)
142 -----------------
143 Starting lighttpd
144 -----------------
146 As daemon in the background: ::
148   $ lighttpd -f <configfile>
150 or without detaching from the console: ::
152   $ lighttpd -D -f <configfile>