Apache HTTP Server

Apache HTTP Server, or shortly Apache, is a free and open-source cross-platform web server software. It is developed and maintained by a community of developers under the auspices of the Apache Software Foundation. It was created in 1995 by Robert McCool.https://web.archive.org/web/*/http://httpd.apache.org/ Apache web server was named "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".https://web.archive.org/web/20211213004914/https://www.apache.org/foundation/faq.html#name
The vast majority of Apache HTTP Server instances run on a Linux distributionhttps://secure1.securityspace.com/s_survey/data/man.201808/apacheos.html, but current versions also run on Microsoft Windowshttps://httpd.apache.org/docs/2.4/platform/index.html.en, OpenVMShttps://web.archive.org/web/20201022051216/https://vmssoftware.com/products/secure-web-server/, and a wide variety of Unix-like systems. Past versions also ran on NetWare, OS/2 and other operating systems,https://web.archive.org/web/20210510141206/https://httpd.apache.org/docs/2.4/upgrading.html including ports to mainframes.https://web.archive.org/web/20190227063613/http://httpd.apache.org/docs/2.4/platform/ebcdic.html.en
==Features==
Here is a list of features provided below:
*Supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from authentication schemes to supporting server-side programming languages such as Perl, Python, Tcl and PHP.
*Supports external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP.
*Virtual hosting to serve many different websites in one Apache installation. For example, one computer with one Apache installation could simultaneously serve example.com, example.org, test47.test-server.example.edu, etc.
*Configurable error messages, DBMS-based authentication databases, content negotiation and supports several graphical user interfaces (GUIs).
*Password authentication and digital certificate authentication.
*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 and Failover with automatic recovery
**WebSocket, FastCGI, SCGI, AJP and uWSGI 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-compatible
*HTTP/2 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-based geolocation
*User and Session tracking
*WebDAV
*Embedded Perl, PHP and Lua scripting
*CGI support
*public_html per-user web-pages
*Generic expression parser
*Real-time status views
*FTP 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-based mode, a hybrid (process and thread) mode, or an event-hybrid mode, in order to better match the demands of each particular infrastructure.
For delivering static pages, Apache 2.2 series was considered significantly slower than nginx and varnish.https://web.archive.org/web/20140424234153/http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/ 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.https://web.archive.org/web/20210510050745/https://httpd.apache.org/docs/2.2/mod/worker.html
==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, and Tandem platforms.https://web.archive.org/web/20080607122013/http://httpd.apache.org/ABOUT_APACHE.htmlhttps://web.archive.org/web/20120309003935/https://www.ohloh.net/p/apachehttps://web.archive.org/web/20121125111059/http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/chap-Managing_Confined_Services-The_Apache_HTTP_Server.html
Apache 2.4 dropped support for BeOS, TPF, A/UX, NeXT, and Tandem platforms.https://web.archive.org/web/20210510141206/https://httpd.apache.org/docs/2.4/upgrading.html
Versions of Apache HTTP Server
Version	Initial Release 	Latest release
1.3 	June 6th, 1998"Announcement: Apache 1.3.0 Released !" (Archived page) 	February 3rd, 2010"Apache HTTP Server 1.3.42 released (final release of 1.3.x)" (Archived page)
2.0 	April 6th, 2002Archived "Official Release: Apache 2.0.35 is now GA" (Archived page) 	July 10th, 2013"[Announcement Apache HTTP Server 2.0.65 Released" (Archived page)]
2.2 	December 1st, 2005"Apache HTTP Server 2.2.0 Released" (Archived page) 	July 11th, 2017"[Announcement Apache HTTP Server 2.2.34 Released" (Archived page)]
2.4 	February 21st, 2012"[ANNOUNCEMENT Apache HTTP Server 2.4.1 Released" (Archived page)]	April 4th, 2024"Apache HTTP Server 2.4.59 Released" (Archived page)
==Security==
Apache, like other server software, can be hacked and exploited. The main Apache attack tool is Slowloris, which exploits a bug in Apache software.https://web.archive.org/web/20211112130802/https://isc.sans.edu/diary/Apache+HTTP+DoS+tool+mitigation/6613 It creates many sockets and keeps each of them alive and busy by sending several bytes (known as "keep-alive headers") to let the server know that the computer is still connected and not experiencing network problems. Since Apache 2.2.15, Apache ships the module mod_reqtimeout as the official solution supported by the developers.https://web.archive.org/web/20130703041319/http://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html
==External Links==
*Apache HTTP Server in Wikipedia
==References==
Category:Websites
Category:Websites registered in 1995
Category:Websites with the .org domain
Category:Web servers