HOME

TheInfoList



OR:

thttpd (tiny/turbo/throttling HTTP server) is an
open source software Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
web server A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
from ACME Laboratories, designed for simplicity, a small execution footprint and speed.


Design and features

thttpd is
single-threaded In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. In many cases, a thread is a component of a proc ...
and
portable Portable may refer to: General * Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work * Portable classroom, a temporary building installed on the grounds of a school to provide a ...
: it compiles cleanly on most
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, including
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
,
SunOS SunOS is a Unix-branded operating system developed by Sun Microsystems for their workstation and server computer systems from 1982 until the mid-1990s. The ''SunOS'' name is usually only used to refer to versions 1.0 to 4.1.4, which were based ...
4,
Solaris Solaris is the Latin word for sun. It may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Sol ...
2, BSD/OS,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
OSF/1 OSF/1 is a variant of the Unix operating system developed by the Open Software Foundation during the late 1980s and early 1990s. OSF/1 is one of the first operating systems to have used the Mach kernel developed at Carnegie Mellon University, and ...
. It has an executable memory size of about 50 kB. While it can be used as a simplified replacement to more
feature-rich A feature is "a prominent or distinctive user-visible aspect, quality, or characteristic of a software system or systems", as defined by Kang et al. At the implementation level, "it is a structure that extends and modifies the structure of a give ...
servers, it is uniquely suited to service high volume requests for static data—for example as an image hosting server. The first "t" in thttpd stands for variously tiny, turbo, or throttling. thttpd has a
bandwidth throttling Bandwidth throttling consists in the limitation of the communication speed (bytes or kilobytes per second), of the ingoing (received) or outgoing (sent) data in a network node or in a network device such as computers and mobile phones. The d ...
feature which enables the server administrator to limit the maximum
bit rate In telecommunications and computing, bit rate (bitrate or as a variable ''R'') is the number of bits that are conveyed or processed per unit of time. The bit rate is expressed in the unit bit per second (symbol: bit/s), often in conjunction ...
at which certain types of files may be transferred. For example, the administrator may choose to restrict the transfer of
JPEG JPEG ( , short for Joint Photographic Experts Group and sometimes retroactively referred to as JPEG 1) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degr ...
image files to at most 20
kilobyte The kilobyte is a multiple of the unit byte for Computer data storage, digital information. The International System of Units (SI) defines the prefix ''kilo-, kilo'' as a multiplication factor of 1000 (103); therefore, one kilobyte is 1000&nbs ...
s per second. This prevents the connection from becoming saturated so that the server will still be responsive under heavy load, with the tradeoff that file transfer speed is reduced. thttpd did not support the
X-Forwarded-For The X-Forwarded-For (XFF) List of HTTP header fields, HTTP header field is a common method for identifying the originating IP address of a client connecting to a web server through an HTTP proxy server, proxy or load balancer. The X-Forwarded- ...
headerDebian bug of thttpd does not respect X-Forward-For header
(closed)


Forks

There are at least 2 public
fork In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
s of thttpd:
sthttpd
by Anthony Basile, focusing on
Gentoo Linux Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for ...
patches
Merecat
by Joachim Nilsson, adding a number of features, most notably SSL support


See also

*
Comparison of web server software Web server software allows computers to act as web servers. The first web servers supported only static files, such as HTML (and images), but now they commonly allow embedding of server side applications. Some web application frameworks include s ...
* Embedded HTTP server * NanoHTTPD


References


External links


thttpd web site



thttpd, unofficial resources (links, patches, etc.)
* thttpd AT mail.acme.com mailing list archive a
http://marc.info


Free software programmed in C Free web server software Cross-platform free software Unix network-related software Software using the BSD license {{network-software-stub