Apache HTTP Server

from Wikipedia, the free encyclopedia
Apache HTTP Server

Apache HTTP server logo (2016) .svg
Basic data

developer Apache Software Foundation
Publishing year 1995
Current  version 2.4.46
( August 5, 2020 )
operating system limited platform-independent
programming language C.
category Web server
License Apache license, version 2.0, Apache license, version 1.1
httpd.apache.org

The Apache HTTP Server [ əˈpætʃi ] is an open source and free product of the Apache Software Foundation and one of the most widely used web servers on the Internet .

history

A group of eight developers began to expand the NCSA HTTPd web server in 1994 . These were in particular: Brian Behlendorf , Roy T. Fielding , Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau and Andrew Wilson with the support of Eric Hagberg, Frank Peters and Nicolas Pioch.

They named the result of their work Apache HTTP Server and published it in April 1995. It was the founding project of the Apache Software Foundation .

Origin of name

The name was chosen out of respect for the North American Indian tribe of the Apaches . It is not correct that the name is a reinterpretation of " a patchy server " , which means something like "a patched up server " . This interpretation arose from the fact that the Apache HTTP server was originally a patched extension of the old NCSA HTTP server.

Features and functions

In addition to Unix and Linux , Apache supports Win32 , NetWare and a large number of other operating systems. In Apache 2.4, support for older operating systems such as BeOS , TPF and A / UX that were no longer developed for a long time was ended. In version 2.0, the stability and speed of the server - especially on non-Unix systems - have been significantly improved: The Apache Portable Runtime (APR) library provides a generalization of important system calls so that the individual strengths of the respective operating system can be exploited. In addition, there are various multiprocessing modules (MPM) that, depending on the platform, offer different solutions for the simultaneous handling of several client requests: For example, the MPM prefork relies on forking processes for classic Unix systems , while mpm_winnt optimizes the threads that are more recommended under Windows is.

The Apache web server has a modular By appropriate modules can, for example, the communication between the browser and Web server encrypt ( mod_ssl ), as a Proxy Server can be used (mod_proxy) or complex manipulations of HTTP - header data ( mod headers ) and URLs ( mod rewrite perform) .

Apache offers the possibility of dynamically creating websites using server-side scripting languages . Frequently used scripting languages ​​are PHP , Perl or Ruby . Other languages ​​are Python , JavaScript (e.g. V8CGI ), Lua , Tcl and .NET (with ASP.NET or Mono ). These are not part of the web server, but must either be integrated as modules or addressed via the CGI , since Apache, unlike nginx, for example, is module-based. The modules can be activated or deactivated at any time. Server Side Includes (SSI) can be performed using the mod_include included with the Apache installation . This makes it possible to create simple dynamic websites and to minimize the administrative effort of static websites.

Like all programs of the Apache Software Foundation, the Apache HTTP Server is free software . The stable version 2.4.x is currently still supported and thus provided with security updates, for example. The Apache developers recommend version 2.4.x for productive use.

Distributions

The Apache HTTP Server is included as standard in almost all Linux distributions and in macOS . A popular development distribution for Windows , Linux and Mac OS X is XAMPP .

Major versions

  • Apache 1.x : This version was first released in 1995 . The further development of the last development branch 1.3.x ended in February 2010. Since then, version 1 has only been provided with security updates if necessary. In the meantime, the supply of security updates has also been discontinued.
  • Apache 2.x : This version was first released in March 2000. From this version only the development branch 2.4 is supplied with security updates and further developments.

Version overview

Legend: Older version; no longer supported Older version; still supported Current version Current preliminary version Future version

Apache 1

Apache 1.0

version publication
Older version; no longer supported: 1.0.0 April 1996

Apache 1.3

version publication
Older version; no longer supported: 1.3.0 June 6, 1998
Older version; no longer supported: 1.3.1 July 22, 1998
Older version; no longer supported: 1.3.2 September 23, 1998
Older version; no longer supported: 1.3.3 October 9, 1998
Older version; no longer supported: 1.3.4 January 11, 1999
Older version; no longer supported: 1.3.5 not published
Older version; no longer supported: 1.3.6 March 24, 1999
Older version; no longer supported: 1.3.7 not published
Older version; no longer supported: 1.3.8 not published
Older version; no longer supported: 1.3.9 August 19, 1999
Older version; no longer supported: 1.3.10 not published
Older version; no longer supported: 1.3.11 January 21, 2000
Older version; no longer supported: 1.3.12 February 25, 2000
Older version; no longer supported: 1.3.13 not published
Older version; no longer supported: 1.3.14 October 13, 2000
Older version; no longer supported: 1.3.15 not published
Older version; no longer supported: 1.3.16 not published
Older version; no longer supported: 1.3.17 January 29, 2001
Older version; no longer supported: 1.3.18 not published
Older version; no longer supported: 1.3.19 March 1, 2001
Older version; no longer supported: 1.3.20 May 1, 2001
Older version; no longer supported: 1.3.21 not published
Older version; no longer supported: 1.3.22 October 12, 2001
Older version; no longer supported: 1.3.23 January 21, 2002
Older version; no longer supported: 1.3.24 March 22, 2002
Older version; no longer supported: 1.3.25 not published
Older version; no longer supported: 1.3.26 June 18, 2002
Older version; no longer supported: 1.3.27 October 3, 2002
Older version; no longer supported: 1.3.28 July 16, 2003
Older version; no longer supported: 1.3.29 October 29, 2003
Older version; no longer supported: 1.3.30 not published
Older version; no longer supported: 1.3.31 May 11, 2004
Older version; no longer supported: 1.3.32 not published
Older version; no longer supported: 1.3.33 October 29, 2004
Older version; no longer supported: 1.3.34 October 18, 2005
Older version; no longer supported: 1.3.35 May 1, 2006
Older version; no longer supported: 1.3.36 May 17, 2006
Older version; no longer supported: 1.3.37 July 28, 2006
Older version; no longer supported: 1.3.38 not published
Older version; no longer supported: 1.3.39 September 7, 2007
Older version; no longer supported: 1.3.40 not published
Older version; no longer supported: 1.3.41 January 19, 2008
Older version; no longer supported: 1.3.42 February 2, 2010

Apache 2

Apache 2.0

version publication
Older version; no longer supported: 2.0.0a1 March 10, 2000
Older version; no longer supported: 2.0.0a2 March 31, 2000
Older version; no longer supported: 2.0.0a3 April 28, 2000
Older version; no longer supported: 2.0.0a4 June 7, 2000
Older version; no longer supported: 2.0.0a5 August 4, 2000
Older version; no longer supported: 2.0.0a6 August 18, 2000
Older version; no longer supported: 2.0.0a7 October 8, 2000
Older version; no longer supported: 2.0.0a8 November 20, 2000
Older version; no longer supported: 2.0.0a9 December 12, 2000
Older version; no longer supported: 2.0.14 - 2.0.27 not published
Older version; no longer supported: 2.0.28 November 13, 2001
Older version; no longer supported: 2.0.29 - 2.0.31 not published
Older version; no longer supported: 2.0.32 February 16, 2002
Older version; no longer supported: 2.0.33 - 2.0.34 not published
Older version; no longer supported: 2.0.35 April 5, 2002
Older version; no longer supported: 2.0.36 May 6, 2002
Older version; no longer supported: 2.0.37 - 2.0.38 not published
Older version; no longer supported: 2.0.39 June 17, 2002
Older version; no longer supported: 2.0.40 August 9, 2002
Older version; no longer supported: 2.0.41 not published
Older version; no longer supported: 2.0.42 September 24, 2002
Older version; no longer supported: 2.0.43 October 3, 2002
Older version; no longer supported: 2.0.44 January 20, 2003
Older version; no longer supported: 2.0.45 April 1, 2003
Older version; no longer supported: 2.0.46 May 28, 2003
Older version; no longer supported: 2.0.47 July 9, 2003
Older version; no longer supported: 2.0.48 October 29, 2003
Older version; no longer supported: 2.0.49 March 19, 2004
Older version; no longer supported: 2.0.50 June 30, 2004
Older version; no longer supported: 2.0.51 September 15, 2004
Older version; no longer supported: 2.0.52 September 28, 2004
Older version; no longer supported: 2.0.53 February 7, 2005
Older version; no longer supported: 2.0.54 April 17, 2005
Older version; no longer supported: 2.0.55 October 16, 2005
Older version; no longer supported: 2.0.56 - 2.0.57 not published
Older version; no longer supported: 2.0.58 May 1, 2006
Older version; no longer supported: 2.0.59 July 28, 2006
Older version; no longer supported: 2.0.60 not published
Older version; no longer supported: 2.0.61 September 7, 2007
Older version; no longer supported: 2.0.62 not published
Older version; no longer supported: 2.0.63 January 19, 2008
Older version; no longer supported: 2.0.64 October 19, 2010
Older version; no longer supported: 2.0.65 July 10, 2013

Apache 2.2

version publication
Older version; no longer supported: 2.2.0 December 1, 2005
Older version; no longer supported: 2.2.1 not published
Older version; no longer supported: 2.2.2 May 1, 2006
Older version; no longer supported: 2.2.3 July 28, 2006
Older version; no longer supported: 2.2.4 January 9, 2007
Older version; no longer supported: 2.2.5 not published
Older version; no longer supported: 2.2.6 September 7, 2007
Older version; no longer supported: 2.2.7 not published
Older version; no longer supported: 2.2.8 January 19, 2008
Older version; no longer supported: 2.2.9 June 14, 2008
Older version; no longer supported: 2.2.10 October 14, 2008
Older version; no longer supported: 2.2.11 December 14, 2008
Older version; no longer supported: 2.2.12 July 28, 2009
Older version; no longer supported: 2.2.13 August 8, 2009
Older version; no longer supported: 2.2.14 October 3, 2009
Older version; no longer supported: 2.2.15 March 5, 2010
Older version; no longer supported: 2.2.16 July 25, 2010
Older version; no longer supported: 2.2.17 October 18, 2010
Older version; no longer supported: 2.2.18 May 11, 2011
Older version; no longer supported: 2.2.19 May 21, 2011
Older version; no longer supported: 2.2.20 August 20, 2011
Older version; no longer supported: 2.2.21 September 13, 2011
Older version; no longer supported: 2.2.22 January 31, 2012
Older version; no longer supported: 2.2.23 September 13, 2012
Older version; no longer supported: 2.2.24 February 26, 2013
Older version; no longer supported: 2.2.25 July 10, 2013
Older version; no longer supported: 2.2.26 18th November 2013
Older version; no longer supported: 2.2.27 March 26, 2014
Older version; no longer supported: 2.2.29 3rd September 2014
Older version; no longer supported: 2.2.31 17th July 2015
Older version; no longer supported: 2.2.32 January 13, 2017
Older version; no longer supported: 2.2.33 not published
Older version; no longer supported: 2.2.34 11th July 2017

Apache 2.3

version publication
Older version; no longer supported: 2.3.0-alpha - 2.3.3-alpha not published
Older version; no longer supported: 2.3.4-alpha December 8, 2009
Older version; no longer supported: 2.3.5-alpha January 26, 2010
Older version; no longer supported: 2.3.6-alpha June 17, 2010
Older version; no longer supported: 2.3.7-alpha not published
Older version; no longer supported: 2.3.8-alpha August 31, 2010
Older version; no longer supported: 2.3.9-alpha not published
Older version; no longer supported: 2.3.10-alpha December 21, 2010
Older version; no longer supported: 2.3.11-beta March 7, 2011
Older version; no longer supported: 2.3.12-beta May 23, 2011
Older version; no longer supported: 2.3.13-beta not published
Older version; no longer supported: 2.3.14-beta August 9, 2011
Older version; no longer supported: 2.3.15-beta November 15, 2011
Older version; no longer supported: 2.3.16-beta December 20, 2011

Apache 2.4

version publication
Older version; no longer supported: 2.4.0 not published
Older version; no longer supported: 2.4.1 17th February 2012
Older version; no longer supported: 2.4.2 April 17, 2012
(Linux)
May 17, 2012
(Windows)
Older version; no longer supported: 2.4.3 August 21, 2012
Older version; no longer supported: 2.4.4 February 25, 2013
Older version; no longer supported: 2.4.5 not published
Older version; no longer supported: 2.4.6 22. July 2013
Older version; no longer supported: 2.4.7 November 25, 2013
Older version; no longer supported: 2.4.9 17th March 2014
Older version; no longer supported: 2.4.10 July 21, 2014
Older version; no longer supported: 2.4.12 January 29, 2015
Older version; no longer supported: 2.4.16 15th July 2015
Older version; no longer supported: 2.4.17 October 13, 2015
Older version; no longer supported: 2.4.18 December 14, 2015
Older version; no longer supported: 2.4.20 April 11, 2016
Older version; no longer supported: 2.4.21 not published
Older version; no longer supported: 2.4.22 not published
Older version; no longer supported: 2.4.23 5th july 2016
Older version; no longer supported: 2.4.24 not published
Older version; no longer supported: 2.4.25 20th December 2016
Older version; no longer supported: 2.4.26 19th June 2017
Older version; no longer supported: 2.4.27 11th July 2017
Older version; no longer supported: 2.4.28 5th October 2017
Older version; no longer supported: 2.4.29 23 October 2017
Older version; no longer supported: 2.4.33 March 26, 2018
Older version; no longer supported: 2.4.34 16th July 2018
Older version; no longer supported: 2.4.35 22nd September 2018
Older version; no longer supported: 2.4.36 not published
Older version; no longer supported: 2.4.37 23 October 2018
Older version; no longer supported: 2.4.38 17th January 2019
Older version; no longer supported: 2.4.39 March 27, 2019
Older version; no longer supported: 2.4.40 not published
Current version: 2.4.41 August 14, 2019
Future version: 2.4.42 not published
Current version: 2.4.43 April 1, 2020
Future version: 2.4.44 not published
Future version: 2.4.45 not published
Current version: 2.4.46 August 7, 2020

Modules

Output of mod_status

The Apache server can be expanded with so-called modules that bring certain additional functions and always begin with 'mod_' (e.g. mod_rewrite, mod_php7.0, mod_ssl). There are modules u. a. For

  • SSL (mod_ssl for OpenSSL , mod_gnutls for GnuTLS )
  • Integration and use of dynamic scripting languages (including mod_php5, mod_perl, mod_python)
  • Support of additional protocols ( WebDAV : mod_dav, mod_dav_fs, mod_dav_lock, mod_dav_repos )
  • Authentication (mod_auth *)
  • Forwarding to other servers (mod_proxy)
  • Rewriting and forwarding of requests ( mod rewrite ; the latter with the help of mod_proxy)
  • Changes to header lines (mod_header)
  • Automatic information about file types (mod_mime, mod_mime_magic)
  • Automatic generation of status reports (mod_status)
module function
mod_access_compat Group access permission based on host name
mod_actions Executes CGI script depending on the MIME type of the requested content
mod_alias URL redirection
mod_allowmethods Prohibits individual HTTP methods (GET, HEAD, POST, PUT, DELETE, TRACE)
mod_asis Sends file without setting new HTTP headers
mod_auth_basic HTTP authentication
mod_auth_digest Authentication with MD5 hash
mod_auth_form Form authentication
mod_authn_anon Allows anonymous access in authenticated areas
mod_authn_core Core module for authentication
mod_authn_dbd User authentication via an SQL database
mod_authn_dbm User authentication via a DBM file
mod_authn_file User authentication via text files
mod_authn_socache Manages a cache of access authorizations
mod_authnz_fcgi Allows a FastCGI authorizer application to handle Apache httpd authentication and authorization
mod_authnz_ldap User authentication via LDAP
mod_authz_core Core authorization
mod_authz_dbd Group authentication via SQL
mod_authz_dbm Group authentication via DBM
mod_authz_groupfile Group authentication via text files
mod_authz_host Group authentication based on host name
mod_authz_owner Authentication via ownership of files
mod_authz_user User authentication
mod_autoindex Automatic directory display
mod_buffer Request buffering
mod_cache HTTP caching filter according to RFC 2616
mod_cache_disk Disk storage for HTTP caching filters
mod_cache_socache Shared object cache (socache) -based storage for the HTTP caching filter
mod_cern_meta CERN metadata semantics
mod_cgi Execution of CGI scripts
mod_cgid Execution of CGI scripts via external daemon
mod_charset_lite Specifies other character encoding
mod_data Data URL according to RFC 2397
mod_dav WebDAV
mod_dav_fs File system module for WebDAV
mod_dav_lock Locking module for WebDAV
mod_dbd Manages SQL connections
mod_deflate Compress content before delivery with Deflate
mod_dialup Dialup
mod_dir Folder directory display
mod_dumpio Dumps all I / O to error log as desired
mod_echo Echo server for test purposes
mod_env Changes the environment
mod_example_hooks Example module
mod_expires Generates the Expires and Cache-Control HTTP headers
mod_ext_filter Forwards the server response to an external program before delivery
mod_file_cache Buffers files in memory
mod_filter Context sensitive filters
mod_headers Adaptation of the HTTP headers
mod_heartbeat Sends server status to proxy servers
mod_heartmonitor Monitor for mod_heartbeat server
mod_ident RFC 1413 ident lookups
mod_imagemap Imagemaps
mod_include Server-side integration of HTMl documents (Server Side Includes)
mod_info Server information
mod_isapi ISAPI (Apache for Windows)
mod_lbmethod_bybusyness For mod_proxy_balancer
mod_lbmethod_byrequests For mod_proxy_balancer
mod_lbmethod_bytraffic For mod_proxy_balancer
mod_lbmethod_heartbeat For mod_proxy_balancer
mod_ldap LDAP
mod_log_config Logging of requests
mod_log_debug Debug log
mod_log_forensic Forensic logging
mod_logio Logging of the input / output bytes
mod_lua Lua - hooks
mod_macro Macro support for the configuration files
mod_mime MIME
mod_mime_magic Determination of the MIME via magic byte
mod_negotiation Content negotiation
mod_nw_ssl SSL encryption for NetWare
mod_php5 Scripting language
mod_privileges Solaris Privileges
mod_proxy Proxy
mod_proxy_ajp AJP for mod_proxy
mod_proxy_balancer Load balancing for mod_proxy
mod_proxy_connect Support of CONNECT requests for mod_proxy
mod_proxy_express Dynamic reverse proxy support for mod_proxy
mod_proxy_fcgi FastCGI support for mod_proxy
mod_proxy_fdpass fdpass support for mod_proxy
mod_proxy_ftp FTP support for mod_proxy
mod_proxy_html Rewrite HTML links in to ensure they are addressable from Clients' networks in a proxy context
mod_proxy_http HTTP support for mod_proxy
mod_proxy_scgi SCGI gateway support for mod_proxy
mod_proxy_wstunnel WebSocket support for mod_proxy
mod_ratelimit Bandwidth limit
mod_reflector
mod_remoteip Replaces the client IP with a user agent IP
mod_reqtimeout Sets timeout fixed
mod_request Support for HTTP requests
mod_rewrite Rewrite engine
mod_security Security module ( web application firewall )
mod_sed Filter with sed
mod_session Support for meetings
mod_session_cookie Sessions with cookies
mod_session_crypto Session encryption
mod_session_dbd DBD / SQL based sessions
mod_setenvif Allows the setting of environment variables depending on the request
mod_slotmem_plain Slot-based shared memory provider
mod_slotmem_shm Slot-based shared memory provider
mod_so Support for loading program libraries
mod_socache_dbm DBM-based socache
mod_socache_dc Distcache -based socache
mod_socache_memcache Memcache -based socache
mod_socache_shmcb shmcb -based socache
mod_speling Module for correcting typographical errors
mod_ssl Cryptography using SSL or TLS
mod_status Information about server activity and performance
mod_substitute Allows search & replace in the server response
mod_suexec Execute CGI scripts as a different user (suEXEC)
mod_unique_id Provides an environment variable with a unique identifier for each request
mod_unixd Basic (required) security for Unix-family platforms.
mod_userdir User-specific directories
mod_usertrack Clickstream logging
mod_version Version-dependent configuration
mod_vhost_alias Dynamic configuration for virtual hosting
mod_watchdog Periodic execution of tasks
mod_xml2enc Foreign character sets for libxml2 filter modules

See also

Web links

Commons : Apache HTTP Server  - collection of images, videos and audio files

Individual evidence

  1. www.apache.org . (accessed on August 23, 2016).
  2. ^ Daniel Ruggeri: Apache HTTP Server 2.4.46 Released . August 7, 2020 (accessed August 7, 2020).
  3. linuxdocs.org . (accessed on August 23, 2016).
  4. github.com . (accessed on August 11, 2017).
  5. ^ The apache Open Source Project on Open Hub: Languages ​​Page . In: Open Hub . (accessed on September 26, 2018).
  6. projects.apache.org . In: Open Hub . (accessed on April 8, 2020).
  7. httpd.apache.org . (accessed April 7, 2016).
  8. www.apache.org . (accessed on August 23, 2016).
  9. Web Server Survey. Netcraft , Ltd., accessed April 13, 2016 .
  10. Why the name “Apache”? In: Apache Server Frequently Asked Questions. Apache Software Foundation, accessed November 3, 2015 .
  11. Apache FAQ (experimental first posting). In: Google groups. Google Inc., May 13, 1997, accessed January 29, 2010 .
  12. Upgrading to 2.4 from 2.2. Retrieved January 14, 2017 .
  13. Apache HTTP Server 2.4.43 Released. In: Apache HTTP Server. Apache Software Foundation, April 1, 2020, accessed May 27, 2020 .
  14. Apache Release History (English)
  15. Module Index - Apache HTTP Server. apache.org, accessed November 15, 2014 .