Lighttpd
# Lighttpd

Lighttpd (zumeist gesprochen als Lighty) ist ein von Jan Kneschke entwickelter freier Webserver. Er implementiert alle wichtigen Funktionen eines Webservers und kann, ähnlich wie Apache, durch Module erweitert werden.

## Funktionsweise

Der Server setzt auf asynchrone Kommunikation und bearbeitet mehrere Anfragen in einem einzigen Betriebssystem-Prozess. Dadurch ist der Webserver in der Lage, mehrere parallele Anfragen effizienter zu bearbeiten und CPU und Arbeitsspeicher weniger zu belasten als ein Multi-Prozess-Design etwa beim Apache Webserver. Dies lohnt sich besonders beim gleichzeitigen Zugriff auf große Dateien von vielen Benutzern.
PHP wird mittels FastCGI angebunden. Perl, Python oder Ruby können auch über die SCGI-Schnittstelle angesprochen werden. Seiten können über das Modul mod_magnet in Lua automatisch erzeugt werden, auch Server Side Includes werden durch ein Modul unterstützt.

## Verbreitung

Lighttpd verbreitet sich laut Netcraft schnell und schaffte im „Web Server Survey“ vom März 2007 mit ca. 1,4 Millionen Domains den Sprung auf den 4. Platz der Rangliste. Bei dieser Wertung gehen allerdings auch etliche „geparkte“ Domains ein, von denen oft Tausende auf einem Server liegen, wodurch der Wechsel großer Domainhändler sich stark auf die Zahlen auswirken kann. Im August 2010 lag die Verbreitung bei 1,8 Millionen Domains.

## Merkmale

* Erweiterbarkeit durch Module
* Serverlastverteilung möglich
* Unterstützt FastCGI, SCGI und HTTP proxy
* Lässt sich auch in einer chroot-Umgebung betreiben
* Der Server basiert auf den select-/poll-/epoll-Systemaufrufen
* Conditional rewrites (vgl. mod_rewrite bei Apache)
* TLS wird mit OpenSSL angeboten, ab 1.4.56 werden GnuTLS, Mbed TLS, WolfSSL und NSS angeboten
* Authentifizierung mittels LDAP-Server
* RRDtool-Statistiken
* Unterstützt Server Side Includes
* virtual hosting
* WebDAV-Unterstützung
* Java-Servlet-Unterstützung, auch das Apache JServ Protocol ist implementiert
* HTTP-Kompression mittels mod_deflate
* PHP7-CGI via FastCGI (mod_fastcgi)
* HTTP/2 ab Version 1.4.56
* HTTP/2 WebSocket ab Version 1.4.65