lighttpd 1.4.x https://www.lighttpd.net/
Go to file
Jan Kneschke b545650ee7 removed check for winsock2.h as it fails in anyway
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-merge-1.4.x@788 152afb58-edef-0310-8abb-c4023f1b3aa9
2005-10-15 14:29:11 +00:00
cygwin updated .cvsignore 2005-03-06 11:28:57 +00:00
debian get ready for 1.4.6 2005-10-09 20:49:43 +00:00
doc updated docs to 1.4.x names and add support for global index-generators (see #250) 2005-09-29 22:14:00 +00:00
openwrt updated .cvsignore 2005-03-06 11:28:57 +00:00
src add no-fork option for daemontools (fixed #295) 2005-10-11 09:29:30 +00:00
tests the range-request options was not handled at all, added test case 2005-10-05 10:40:00 +00:00
.cvsignore forgot .cvsignore in the move 2005-02-20 14:28:26 +00:00
AUTHORS moved everything below trunk/ and added branches/ and tags/ 2005-02-20 14:27:00 +00:00
COPYING moved everything below trunk/ and added branches/ and tags/ 2005-02-20 14:27:00 +00:00
ChangeLog updated changelog and news for release of 1.3.15 2005-07-15 18:11:57 +00:00
INSTALL fixed link and version number 2005-06-15 14:26:21 +00:00
Makefile.am moved everything below trunk/ and added branches/ and tags/ 2005-02-20 14:27:00 +00:00
NEWS get ready for 1.4.6 2005-10-09 20:49:43 +00:00
README moved everything below trunk/ and added branches/ and tags/ 2005-02-20 14:27:00 +00:00
SConstruct get ready for 1.4.6 2005-10-09 20:49:43 +00:00
autogen.sh fixed message to print configure + make 2005-03-05 17:06:18 +00:00
config.py-sample with_xml instead of with_xml2 and fixed passing of -D options for LFS 2005-09-26 09:44:36 +00:00
configure.in removed check for winsock2.h as it fails in anyway 2005-10-15 14:29:11 +00:00
distribute.sh.in automate the build-process again 2005-08-27 13:45:55 +00:00
lighttpd.spec.in push options to configure script 2005-07-31 13:26:19 +00:00

README

========
lighttpd
========

-------------
a light httpd
-------------

:author: Jan Kneschke
:Date: $Date: 2004/11/03 22:25:54 $
:Revision: $Revision: 1.8 $

:abstract:
  lighttpd a secure, fast, compliant and very flexible web-server 
  which has been optimized for high-performance environments. It has a very
  low memory footprint compared to other webservers and takes care of cpu-load.
  Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
  URL-Rewriting and many more) make lighttpd the perfect webserver-software
  for every server that is suffering load problems.

the naming
----------

lighttpd is a __httpd__ which is 

- fast as __light__ning and
- __light__ when it comes to memory consumption and system requirements

Features
--------

Network
```````

- IPv4, IPv6

Protocols
`````````

- HTTP/1.0 (http://www.ietf.org/rfc/rfc1945.txt)
- HTTP/1.1 (http://www.ietf.org/rfc/rfc2616.txt)
- HTTPS (provided by openssl)
- CGI/1.1 (http://CGI-Spec.Golux.Com/)
- FastCGI (http://www.fastcgi.com/devkit/doc/fcgi-spec.html)

Advanced Features
`````````````````

- load-balanced FastCGI
  (one webserver distributes requests to multiple PHP-servers via FastCGI)
- custom error pages (for Response-Code 400-599)
- virtual hosts 
- directory listings
- streaming CGI and FastCGI
- URL-Rewriting
- HTTP-Redirection
- output-compression with transparent caching

FastCGI-Support
```````````````

- parses the Response-header and completes the HTTP-header accordingly
- Keep-Alive handling based on Content-Length header

PHP-Support
```````````

- same speed as or faster than apache + mod_php4
- handles various PHP bugs in the FastCGI SAPI
- includes a utility to spawn FastCGI processes (necessary for PHP 4.3.x)

Security features
````````````````` 

- chroot(), set UID, set GID
- protecting docroot

HTTP/1.1 features
````````````````` 

- Ranges (start-end, start-, -end, multiple ranges)
- HTTP/1.0 Keep-Alive + HTTP/1.1 persistent Connections
- methods: GET, HEAD, POST
- Last-Modified + If-Modified handling 
- sends Content-Length if possible
- sends Transfer-Encoding: chunk, if Content-Length is not possible
- sends Content-Type
- on-the-fly output compression (deflate, gzip)
- authentication: basic and digest
  (http://www.ietf.org/rfc/rfc2617.txt)

HTTP/1.1 compliance
``````````````````` 

- Sends 206 for Range Requests
- Sends 304 for If-Modified Requests
- Sends 400 for missing Host on HTTP/1.1 requests
- Sends 400 for broken Request-Line
- Sends 411 for missing Content-Length on POST requests
- Sends 416 for "out-of-range" on Range: Header
- Sends 501 for request-method != (GET|POST|HEAD)
- Sends 505 for protocol != HTTP/1.0 or HTTP/1.1
- Sends Date: on every requests 

Intended Audience
-----------------

- Ad-Server Front-Ends ("Banner-Schleuder")
  - delivering small files rapidly
- php-servers under high load
  (load-balancing the php-request over multiple PHP-servers)

Works with
----------

It has been tested to work with

- IE 6.0
- Mozilla 1.x
- Konqueror 3.1 
  (for Keep-Alive/Persistent Connections, Accept-Encoding for PHP + gzip)
- wget 
  (for Resuming)
- acrobat plugin
  (for multiple ranges)
  
  
Works on
--------

lighttpd has been verified to compile and work on

- Linux
- FreeBSD
- NetBSD
- Solaris 8 + 9
- SGI IRIX 6.5

missing for HTTP/1.1 compliance
-------------------------------
- parsing chunked POST request

-----------------
Starting lighttpd
-----------------

As daemon in the background: ::

  $ lighttpd -f <configfile>

or without detaching from the console: ::

  $ lighttpd -D -f <configfile>