lighttpd 1.4.x https://www.lighttpd.net/
Go to file
Marcus Rückert baec632cb7 - finally! the fix for 948.
only run into the 404 handler if we are in direct connection mode.
  that way we cant run into the 404 handler if a fastcgi app returned a
  404.

  This is a small backwards incompatible change as now the *cgi app has
  to generate the content for the 404 itself instead of falling back
  into the 404-handler.

  There is still a problem with subrequest which go back to the same
  module (fastcgi app triggers subrequest which hits the fastcgi module
  again) but that would require bigger changes to the plugin api. ATM
  each plugin deinitialize its data after it handled the request. So the
  module isnt initialized for the connection anymore and the subrequest
  directly jumps out of the handler.


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1904 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-14 13:25:04 +00:00
cygwin - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
debian - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
doc - add mod_extforward module from wiki 2007-02-19 21:05:59 +00:00
openwrt - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
src - finally! the fix for 948. 2007-08-14 13:25:04 +00:00
tests - check the content for the send404 case too 2007-08-14 13:12:10 +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 - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
ChangeLog - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
INSTALL - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
Makefile.am - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
NEWS - backported fix from trunk 2007-08-13 11:26:06 +00:00
README - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
SConstruct - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
autogen.sh fixed message to print configure + make 2005-03-05 17:06:18 +00:00
config.py-sample new build_static/build_fullstatic/build_dynamic option 2006-01-07 10:10:17 +00:00
configure.in - prepare 1.4.15 2007-04-13 20:41:14 +00:00
distribute.sh.in - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +00:00
lighttpd.spec.in - white space cleanup part 2 this time 1.4 ;) 2006-10-04 13:26:23 +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>