The Apache HTTP Server ( ) is a
free and open-source cross-platform
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 ...
, released under the terms of
Apache License 2.0. It is developed and maintained by a community of developers under the auspices of the
Apache Software Foundation.
The vast majority of Apache HTTP Server instances run on a
Linux distribution, but current versions also run on
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
OpenVMS, and a wide variety of
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 ...
systems. Past versions also ran on
NetWare,
OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
and other operating systems,
[ including ports to mainframes.
Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the ]World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
, quickly overtaking NCSA HTTPd as the dominant HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
server. In 2009, it became the first web server software to serve more than 100 million website
A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, educatio ...
s.
, Netcraft
Netcraft is an Internet services company based in London, England. The company provides cybercrime disruption services across a range of industries.
History
Netcraft was founded by Mike Prettejohn in Bath, Somerset. The company provides web s ...
estimated that Apache served 17.83% of the million busiest websites, with the other top four being Cloudflare at 22.99%, Nginx at 20.11%, and Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
Internet Information Services
Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
at 4.16%. According to W3Techs' review of all web sites, in April 2025 Apache was ranked second at 26.4% and Nginx first at 33.8%, with Cloudflare Server third at 23.5%.
Name
According to The Apache Software Foundation, its name was chosen "from respect for the various Native American nations collectively referred to as Apache, well-known for their superior skills in warfare strategy and their inexhaustible endurance". This was in a context in which it seemed that the open internet—based on free exchange of open source code—appeared to be soon subjected to a kind of conquer by proprietary software vendor Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
; Apache co-creator Brian Behlendorf—originator of the name—saw his effort somewhat parallel that of Geronimo, Chief of the last of the free Apache peoples. But it conceded that the name "also makes a cute pun on 'a patchy 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 ...
'—a server made from a series of patches".
There are other sources for the "patchy" software pun theory, including the project's official documentation in 1995, which stated: "Apache is a cute name which stuck. It was based on some existing code and a series of software patches, a pun on 'A PAtCHy' server."
But in an April 2000 interview, Behlendorf asserted that the origins of Apache were not a pun, stating:
In January 2023, the US-based non-profit Natives in Tech accused the Apache Software Foundation of cultural appropriation
Cultural appropriation is the adoption of an element or elements of one culture or cultural identity, identity by members of another culture or identity in a manner perceived as inappropriate or unacknowledged. Such a controversy typically ari ...
and urged them to change the foundation's name, and consequently also the names of the software projects it hosts.
When Apache is running under Unix, its process name is , which is short for "HTTP daemon".
Feature overview
Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an Logical assertion, assertion, such as the Digital identity, identity of a computer system user. In contrast with iden ...
schemes to supporting server-side programming languages such as Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
, Python, Tcl and PHP. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the successor to mod_digest. A sample of other features include Secure Sockets Layer and Transport Layer Security
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network, such as the Internet. The protocol is widely used in applications such as email, instant messaging, and voice over ...
support ( mod_ssl), a proxy module ( mod_proxy), a URL rewriting module (mod_rewrite), custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).
Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
. ModSecurity is an open source intrusion detection and prevention engine for Web applications. Apache logs can be analyzed through a Web browser using free scripts, such as AWStats/ W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different websites
A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, education ...
. For example, one computer with one Apache installation could simultaneously serve example.com
, example.org
, test47.test-server.example.edu
, etc.
Apache features configurable error messages, DBMS-based authentication databases, content negotiation and supports several graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s (GUIs).
It supports password authentication and digital certificate authentication. Because the source code is freely available, anyone can adapt the server for specific needs, and there is a large public library of Apache add-ons.
A more detailed list of features is provided below:
* Loadable Dynamic Modules
* Multiple Request Processing modes (MPMs) including Event-based/Async, Threaded and Prefork.
* Highly scalable (easily handles more than 10,000 simultaneous connections)
* Handling of static files, index files, auto-indexing and content negotiation
* .htaccess per-directory configuration support
* Reverse proxy with caching
** Load balancing with in-band health checks
** Multiple load balancing mechanisms
** Fault tolerance
Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems.
Fault t ...
and Failover with automatic recovery
** WebSocket, FastCGI, SCGI, AJP and uWSGI
uWSGI is an open source software application that "aims at developing a full stack for building hosting services". It is named after the Web Server Gateway Interface (WSGI), which was the first plugin supported by the project. uWSGI is maintaine ...
support with caching
** Dynamic configuration
* TLS/SSL with SNI and OCSP stapling support, via OpenSSL or wolfSSL.
* Name- and IP address-based virtual servers
* IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
-compatible
* HTTP/2
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
support
* Fine-grained authentication and authorization access control
* gzip compression and decompression
* URL rewriting
* Headers and content rewriting
* Custom logging with rotation
* Concurrent connection limiting
* Request processing rate limiting
* Bandwidth throttling
* Server Side Includes
* IP address
An Internet Protocol address (IP address) is a numerical label such as that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface i ...
-based geolocation
* User and Session tracking
* WebDAV
* Embedded Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
, PHP and Lua scripting
* CGI support
* public_html
per-user web-pages
* Generic expression parser
* Real-time status views
* FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
support (by a separate module)
Performance
Instead of implementing a single architecture, Apache provides a variety of MultiProcessing Modules (MPMs), which allow it to run in either a process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
* Business process, activities that produce a specific s ...
-based mode, a hybrid (process and thread) mode, or an event-hybrid mode, in order to better match the demands of each particular infrastructure. Choice of MPM and configuration is therefore important. Where compromises in performance must be made, Apache is designed to reduce latency and increase throughput relative to simply handling more requests, thus ensuring consistent and reliable processing of requests within reasonable time-frames.
For delivering static pages, Apache 2.2 series was considered significantly slower than nginx and varnish. To address this issue, the Apache developers created the Event MPM, which mixes the use of several processes and several threads per process in an asynchronous event-based loop. This architecture as implemented in the Apache 2.4 series performs at least as well as event-based web servers, according to Jim Jagielski and other independent sources. However, some independent but significantly outdated benchmarks show that it is still half as fast as nginx, e.g.
Licensing
The Apache HTTP Server codebase was relicensed to the Apache 2.0 License (from the previous 1.1 license) in January 2004, and Apache HTTP Server 1.3.31 and 2.0.49 were the first releases using the new license.
The OpenBSD project did not like the change and continued the use of pre-2.0 Apache versions, effectively forking Apache 1.3.x for its purposes. They initially replaced it with Nginx, and soon after made their own replacement, OpenBSD Httpd, based on the Relayd project.
Versions
Version 1.1:
The Apache License 1.1 was approved by the ASF in 2000: The primary change from the 1.0 license is in the 'advertising clause' (section 3 of the 1.0 license); derived products are no longer required to include attribution in their advertising materials, only in their documentation.
Version 2.0:
The ASF adopted the Apache License 2.0 in January 2004. The stated goals of the license included making the license easier for non-ASF projects to use, improving compatibility with GPL-based software, allowing the license to be included by reference instead of listed in every file, clarifying the license on contributions, and requiring a patent license on contributions that necessarily infringe a contributor's own patents.
Development
The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, feature-rich and freely available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. This project is part of the Apache Software Foundation. In addition, hundreds of users have contributed ideas, code, and documentation to the project.
Apache 2.4 dropped support for BeOS, TPF, A/UX, NeXT
NeXT, Inc. (later NeXT Computer, Inc. and NeXT Software, Inc.) was an American technology company headquartered in Redwood City, California that specialized in computer workstations for higher education and business markets, and later develope ...
, and Tandem
Tandem, or in tandem, is an arrangement in which two or more animals, machines, or people are lined up one behind another, all facing in the same direction. ''Tandem'' can also be used more generally to refer to any group of persons or objects w ...
platforms.
Security
Older versions of Apache were vulnerable to a denial-of-service attack called Slowloris, which creates many simultaneous partially completed requests, exhausting the server's pool of available connections. Since Apache 2.2.15, Apache ships the module mod_reqtimeout as the official solution supported by the developers.
See also
* .htaccess
* .htpasswd
* ApacheBench
* Comparison of web server software
* IBM HTTP Server
* LAMP (software bundle)
* XAMPP
* List of Apache modules
* List of free and open-source software packages
* POSSE project
* suEXEC
* Apache Tomcat - another web server developed by the Apache Software Foundation
References
External links
*
{{Authority control
1995 software
Cross-platform free software
Free software programmed in C
Free web server software
Reverse proxy
Software using the Apache license
Unix network-related software
Web server software for Linux