Apache HTTP-server
Apache HTTP-server | |
---|---|
![]() | |
Basis data | |
ontwikkelaar | Apache Software Foundation[1] |
Jaar van uitgave | 1995 |
Huidige versie | 2.4.48 ( 1 juni 2021 ) |
besturingssysteem | beperkt platformonafhankelijk |
programmeertaal | C[2][3][4][5] |
categorie | web Server |
Licentie | Apache-licentie, versie 2.0[6] , Apache-licentie, versie 1.1[7] |
httpd.apache.org |
De Apache HTTP-server [ əˈpætʃi ] is een open source en gratis product van de Apache Software Foundation en een van de meest gebruikte webservers op internet . [8e]
verhaal
Een groep van acht ontwikkelaars begon in 1994 met de uitbreiding van de NCSA HTTPd -webserver . Dit waren in detail: Brian Behlendorf , Roy T. Fielding , Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau en Andrew Wilson met de steun van Eric Hagberg, Frank Peters en Nicolas Pioch.
Ze noemden het resultaat van hun werk Apache HTTP Server en publiceerden het in april 1995. Het was het oprichtingsproject van de Apache Software Foundation .
Oorsprong van de naam
De naam is gekozen uit respect voor de Noord-Amerikaanse indianenstam van de Apaches . [9] Het is niet correct dat de naam een homofoon is van " a patchy server ", wat zoiets zou betekenen als "a patched up server ". Deze interpretatie kwam voort uit het feit dat de Apache HTTP-server oorspronkelijk een gepatchte uitbreiding was van de oude NCSA HTTP-server. [10]
Kenmerken en functies
Naast Unix en Linux ondersteunt Apache Win32 , NetWare en een groot aantal andere besturingssystemen. In Apache 2.4 is de ondersteuning voor oudere besturingssystemen zoals BeOS , TPF en A/UX die lange tijd niet meer ontwikkeld waren, stopgezet . [11] In versie 2.0 zijn de stabiliteit en snelheid van de server - vooral op niet-Unix-systemen - aanzienlijk verbeterd: de Apache Portable Runtime (APR)-bibliotheek biedt een veralgemening van belangrijke systeemaanroepen, zodat de individuele sterke punten van de respectieve besturingssysteem kan worden misbruikt. Er zijn ook verschillende multiprocessing-modules (MPM) die, afhankelijk van het platform, verschillende oplossingen bieden voor de gelijktijdige verwerking van meerdere clientverzoeken : de MPM-prefork vertrouwt bijvoorbeeld op forking- processen voor klassieke Unix-systemen, terwijl mpm_winnt de threads optimaliseert die worden meer aan te bevelen onder Windows is.
De Apache-webserver is modulair opgebouwd: Met behulp van geschikte modules , kan bijvoorbeeld coderen de communicatie tussen de browser en de webserver ( mod_ssl ), worden gebruikt als een proxy server (mod_proxy) of voer complexe manipulaties van HTTP kopgegevens ( mod headers ) en URL's ( mod rewrite ).
Apache biedt de mogelijkheid om dynamisch websites te maken met behulp van server-side scripttalen . Veelgebruikte scripttalen zijn PHP , Perl of Ruby . Andere talen zijn Python , JavaScript ( o.a. V8CGI ), Lua , Tcl en .NET (met ASP.NET of Mono ). Deze maken geen deel uit van de webserver, maar moeten ofwel als modules worden geïntegreerd of via de CGI worden geadresseerd, aangezien Apache, in tegenstelling tot bijvoorbeeld nginx, modulegebaseerd is. De modules kunnen op elk moment worden geactiveerd of gedeactiveerd. Server Side Inclusief (SSI) kan worden uitgevoerd met behulp van de mod_include die bij de Apache-installatie wordt geleverd. Dit maakt het mogelijk om eenvoudige dynamische websites te maken en de administratieve inspanning van statische websites te minimaliseren.
Zoals alle programma's van de Apache Software Foundation is de Apache HTTP Server gratis software . De stabiele versie 2.4.x wordt momenteel nog ondersteund en dus voorzien van bijvoorbeeld beveiligingsupdates. De Apache-ontwikkelaars raden versie 2.4.x aan voor productief gebruik. [12]
Distributies
De Apache HTTP Server zit standaard in bijna alle Linux distributies en in macOS . Een populaire ontwikkelingsdistributie voor Windows , Linux en Mac OS X is XAMPP .
Grote versies
- Apache 1.x : deze versie werd voor het eerst uitgebracht in 1995 . De verdere ontwikkeling van de laatste ontwikkelingstak 1.3.x eindigde in februari 2010. Sindsdien is versie 1 alleen nog voorzien van beveiligingsupdates als dat nodig is. Inmiddels is ook de levering van beveiligingsupdates stopgezet.
- Apache 2.x : deze versie werd voor het eerst uitgebracht in maart 2000. Vanaf deze versie wordt alleen de ontwikkeltak 2.4 geleverd met beveiligingsupdates en verdere ontwikkelingen.
Versie overzicht
Legende: | Oudere versie; Niet langer gesteund | Oudere versie; nog steeds ondersteund | Huidige versie | Huidige voorlopige versie | Toekomstige versie |
---|
Apache 1
Apache 1.0
versie | publicatie [13] |
---|---|
1.0.0 | april 1996 |
Apache 1.3
versie | publicatie |
---|---|
1.3.0 | 6 juni 1998 |
1.3.1 | 22 juli 1998 |
1.3.2 | 23 september 1998 |
1.3.3 | 9 oktober 1998 |
1.3.4 | 11 januari 1999 |
1.3.5 | niet gepubliceerd |
1.3.6 | 24 maart 1999 |
1.3.7 | niet gepubliceerd |
1.3.8 | niet gepubliceerd |
1.3.9 | 19 augustus 1999 |
1.3.10 | niet gepubliceerd |
1.3.11 | 21 januari 2000 |
1.3.12 | 25 februari 2000 |
1.3.13 | niet gepubliceerd |
1.3.14 | 13 oktober 2000 |
1.3.15 | niet gepubliceerd |
1.3.16 | niet gepubliceerd |
1.3.17 | 29 januari 2001 |
1.3.18 | niet gepubliceerd |
1.3.19 | 1 maart 2001 |
1.3.20 | 1 mei 2001 |
1.3.21 | niet gepubliceerd |
1.3.22 | 12 oktober 2001 |
1.3.23 | 21 januari 2002 |
1.3.24 | 22 maart 2002 |
1.3.25 | niet gepubliceerd |
1.3.26 | 18 juni 2002 |
1.3.27 | 3 oktober 2002 |
1.3.28 | 16 juli 2003 |
1.3.29 | 29 oktober 2003 |
1.3.30 | niet gepubliceerd |
1.3.31 | 11 mei 2004 |
1.3.32 | niet gepubliceerd |
1.3.33 | 29 oktober 2004 |
1.3.34 | 18 oktober 2005 |
1.3.35 | 1 mei 2006 |
1.3.36 | 17 mei 2006 |
1.3.37 | 28 juli 2006 |
1.3.38 | niet gepubliceerd |
1.3.39 | 7 september 2007 |
1.3.40 | niet gepubliceerd |
1.3.41 | 19 januari 2008 |
1.3.42 | 2 februari 2010 |
Apache 2
Apache 2.0
versie | publicatie |
---|---|
2.0.0a1 | 10 maart 2000 |
2.0.0a2 | 31 maart 2000 |
2.0.0a3 | 28 april 2000 |
2.0.0a4 | 7 juni 2000 |
2.0.0a5 | 4 augustus 2000 |
2.0.0a6 | 18 augustus 2000 |
2.0.0a7 | 8 oktober 2000 |
2.0.0a8 | 20 november 2000 |
2.0.0a9 | 12 december 2000 |
2.0.14 - 2.0.27 | niet gepubliceerd |
2.0.28 | 13 november 2001 |
2.0.29 - 2.0.31 | niet gepubliceerd |
2.0.32 | 16 februari 2002 |
2.0.33 - 2.0.34 | niet gepubliceerd |
2.0.35 | 5 april 2002 |
2.0.36 | 6 mei 2002 |
2.0.37 - 2.0.38 | niet gepubliceerd |
2.0.39 | 17 juni 2002 |
2.0.40 | 9 augustus 2002 |
2.0.41 | niet gepubliceerd |
2.0.42 | 24 september 2002 |
2.0.43 | 3 oktober 2002 |
2.0.44 | 20 januari 2003 |
2.0.45 | 1 april 2003 |
2.0.46 | 28 mei 2003 |
2.0.47 | 9 juli 2003 |
2.0.48 | 29 oktober 2003 |
2.0.49 | 19 maart 2004 |
2.0.50 | 30 juni 2004 |
2.0.51 | 15 september 2004 |
2.0.52 | 28 september 2004 |
2.0.53 | 7 februari 2005 |
2.0.54 | 17 april 2005 |
2.0.55 | 16 oktober 2005 |
2.0.56 - 2.0.57 | niet gepubliceerd |
2.0.58 | 1 mei 2006 |
2.0.59 | 28 juli 2006 |
2.0.60 | niet gepubliceerd |
2.0.61 | 7 september 2007 |
2.0.62 | niet gepubliceerd |
2.0.63 | 19 januari 2008 |
2.0.64 | 19 oktober 2010 |
2.0.65 | 10 juli 2013 |
Apache 2.2
versie | publicatie |
---|---|
2.2.0 | 1 december 2005 |
2.2.1 | niet gepubliceerd |
2.2.2 | 1 mei 2006 |
2.2.3 | 28 juli 2006 |
2.2.4 | 9 januari 2007 |
2.2.5 | niet gepubliceerd |
2.2.6 | 7 september 2007 |
2.2.7 | niet gepubliceerd |
2.2.8 | 19 januari 2008 |
2.2.9 | 14 juni 2008 |
2.2.10 | 14 oktober 2008 |
2.2.11 | 14 december 2008 |
2.2.12 | 28 juli 2009 |
2.2.13 | 8 augustus 2009 |
2.2.14 | 3 oktober 2009 |
2.2.15 | 5 maart 2010 |
2.2.16 | 25 juli 2010 |
2.2.17 | 18 oktober 2010 |
2.2.18 | 11 mei 2011 |
2.2.19 | 21 mei 2011 |
2.2.20 | 20 augustus 2011 |
2.2.21 | 13 september 2011 |
2.2.22 | 31 januari 2012 |
2.2.23 | 13 september 2012 |
2.2.24 | 26 februari 2013 |
2.2.25 | 10 juli 2013 |
2.2.26 | 18 november 2013 |
2.2.27 | 26 maart 2014 |
2.2.29 | 3 september 2014 |
2.2.31 | 17 juli 2015 |
2.2.32 | 13 januari 2017 |
2.2.33 | niet gepubliceerd |
2.2.34 | 11 juli 2017 |
Apache 2.3
versie | publicatie |
---|---|
2.3.0-alpha - 2.3.3-alpha | niet gepubliceerd |
2.3.4-alpha | 8 december 2009 |
2.3.5-alpha | 26 januari 2010 |
2.3.6-alpha | 17 juni 2010 |
2.3.7-alpha | niet gepubliceerd |
2.3.8-alpha | 31 augustus 2010 |
2.3.9-alpha | niet gepubliceerd |
2.3.10-alpha | 21 december 2010 |
2.3.11-bèta | 7 maart 2011 |
2.3.12-bèta | 23 mei 2011 |
2.3.13-bèta | niet gepubliceerd |
2.3.14-bèta | 9 augustus 2011 |
2.3.15-bèta | 15 november 2011 |
2.3.16-bèta | 20 december 2011 |
Apache 2.4
versie | publicatie |
---|---|
2.4.0 | niet gepubliceerd |
2.4.1 | 17 februari 2012 |
2.4.2 | 17 april 2012 (Linux) 17 mei 2012 (Ramen) |
2.4.3 | 21 augustus 2012 |
2.4.4 | 25 februari 2013 |
2.4.5 | niet gepubliceerd |
2.4.6 | 22. juli 2013 |
2.4.7 | 25 november 2013 |
2.4.9 | 17 maart 2014 |
2.4.10 | 21 juli 2014 |
2.4.12 | 29 januari 2015 |
2.4.16 | 15 juli 2015 |
2.4.17 | 13 oktober 2015 |
2.4.18 | 14 december 2015 |
2.4.20 | 11 april 2016 |
2.4.21 | niet gepubliceerd |
2.4.22 | niet gepubliceerd |
2.4.23 | 5 juli 2016 |
2.4.24 | niet gepubliceerd |
2.4.25 | 20 december 2016 |
2.4.26 | 19 juni 2017 |
2.4.27 | 11 juli 2017 |
2.4.28 | 5 oktober 2017 |
2.4.29 | 23 oktober 2017 |
2.4.33 | 26 maart 2018 |
2.4.34 | 16 juli 2018 |
2.4.35 | 22 september 2018 |
2.4.36 | niet gepubliceerd |
2.4.37 | 23 oktober 2018 |
2.4.38 | 17 januari 2019 |
2.4.39 | 27 maart 2019 |
2.4.40 | niet gepubliceerd |
2.4.41 | 14 augustus 2019 |
2.4.42 | niet gepubliceerd |
2.4.43 | 1 april 2020 |
2.4.44 | niet gepubliceerd |
2.4.45 | niet gepubliceerd |
2.4.46 | 7 augustus 2020 |
Modules
De Apache-server kan worden uitgebreid met zogenaamde modules die bepaalde extra functies bieden en altijd beginnen met 'mod_' (bijvoorbeeld mod_rewrite, mod_php7.0, mod_ssl). Er zijn modules voor [14]
- SSL (mod_ssl voor OpenSSL , mod_gnutls voor GnuTLS )
- Integratie en gebruik van dynamische scripttalen (inclusief mod_php5, mod_perl, mod_python)
- Ondersteuning van aanvullende protocollen ( WebDAV : mod_dav, mod_dav_fs, mod_dav_lock, mod_dav_repos )
- Authenticatie (mod_auth *)
- Doorsturen naar andere servers (mod_proxy)
- Herschrijven en doorsturen van verzoeken ( mod rewrite ; de laatste met behulp van mod_proxy)
- Wijzigingen in kopregels (mod_header)
- Automatische informatie over bestandstypen (mod_mime, mod_mime_magic)
- Automatisch genereren van statusrapporten (mod_status)
module | functie |
---|---|
mod_access_compat | Toegangsrechten voor groepen op basis van hostnaam |
mod_actions | Voert CGI-script uit afhankelijk van het MIME- type van de gevraagde inhoud |
mod_alias | URL-omleiding |
mod_allowmethods | Verbiedt individuele HTTP-methoden (GET, HEAD, POST, PUT, DELETE, TRACE) |
mod_asis | Verzendt bestand zonder nieuwe HTTP- headers in te stellen |
mod_auth_basic | HTTP-authenticatie |
mod_auth_digest | Authenticatie met MD5 hash |
mod_auth_form | Formulierverificatie |
mod_authn_anon | Staat anonieme toegang toe in geverifieerde gebieden |
mod_authn_core | Kernmodule voor authenticatie |
mod_authn_dbd | Gebruikersauthenticatie via een SQL- database |
mod_authn_dbm | Gebruikersauthenticatie via een DBM- bestand |
mod_authn_file | Gebruikersauthenticatie via tekstbestanden |
mod_authn_socache | Beheert een cache van toegangsautorisaties |
mod_authnz_fcgi | Hiermee kan een FastCGI-autorisatietoepassing Apache httpd-authenticatie en autorisatie afhandelen |
mod_authnz_ldap | Gebruikersauthenticatie via LDAP |
mod_authz_core | Kernautorisatie |
mod_authz_dbd | Groepsverificatie via SQL |
mod_authz_dbm | Groepsverificatie via DBM |
mod_authz_groupfile | Groepsverificatie via tekstbestanden |
mod_authz_host | Groepsverificatie op basis van hostnaam |
mod_authz_owner | Authenticatie via eigendom van bestanden |
mod_authz_user | Gebruikersverificatie |
mod_autoindex | Automatische directoryweergave |
mod_buffer | Verzoek buffering |
mod_cache | HTTP-cachingfilter volgens RFC 2616 |
mod_cache_disk | Opslag op harde schijf voor HTTP-cachingfilters |
mod_cache_socache | Op gedeelde objectcache (socache) gebaseerde opslag voor het HTTP-cachingfilter |
mod_cern_meta | CERN-metadatasemantiek |
mod_cgi | Uitvoering van CGI- scripts |
mod_cgid | Uitvoering van CGI-scripts via externe daemon |
mod_charset_lite | Specificeert een andere tekencodering |
mod_data | Gegevens-URL volgens RFC 2397 |
mod_dav | WebDAV |
mod_dav_fs | Bestandssysteemmodule voor WebDAV |
mod_dav_lock | Vergrendelingsmodule voor WebDAV |
mod_dbd | Beheert SQL-verbindingen |
mod_deflate | Comprimeer inhoud vóór levering met Deflate |
mod_dialup | Opbellen |
mod_dir | Mapmapweergave |
mod_dumpio | Dumpt alle I / O naar foutenlogboek zoals gewenst |
mod_echo | Echoserver voor testdoeleinden |
mod_env | Verandert de omgeving |
mod_example_hooks | Voorbeeld module |
mod_expires | Genereert de Expires en Cache-Control HTTP-headers |
mod_ext_filter | Stuurt de serverreactie door naar een extern programma vóór levering |
mod_file_cache | Buffert bestanden in het geheugen |
mod_filter | Contextgevoelige filters |
mod_headers | Aanpassing van de HTTP-headers |
mod_heartbeat | Verzendt serverstatus naar proxyservers |
mod_heartmonitor | Monitor voor mod_heartbeat-server |
mod_ident | RFC 1413 ident-zoekopdrachten |
mod_imagemap | Imagemaps |
mod_include | Server-side integratie van HTML-documenten (inclusief server) |
mod_info | Server informatie |
mod_isapi | ISAPI (Apache voor Windows) |
mod_lbmethod_bybusyness | Voor mod_proxy_balancer |
mod_lbmethod_byrequests | Voor mod_proxy_balancer |
mod_lbmethod_bytraffic | Voor mod_proxy_balancer |
mod_lbmethod_heartbeat | Voor mod_proxy_balancer |
mod_ldap | LDAP |
mod_log_config | Loggen van verzoeken |
mod_log_debug | Foutopsporingslogboek |
mod_log_forensic | Forensische logging |
mod_logio | Logging van de input/output bytes |
mod_lua | Lua - haken |
mod_macro | Macro-ondersteuning voor de configuratiebestanden |
mod_mime | MIME |
mod_mime_magic | Bepaling van de MIME via magische byte |
mod_negotiation | Onderhandeling over inhoud |
mod_nw_ssl | SSL-codering voor NetWare |
mod_php5 | Scripttaal |
mod_privileges | Solaris-privileges |
mod_proxy | Volmacht |
mod_proxy_ajp | AJP voor mod_proxy |
mod_proxy_balancer | Load balancing voor mod_proxy |
mod_proxy_connect | Ondersteuning van CONNECT-verzoeken voor mod_proxy |
mod_proxy_express | Dynamische Reverse-Proxy -Unterstützung für mod_proxy |
mod_proxy_fcgi | FastCGI -Unterstützung für mod_proxy |
mod_proxy_fdpass | fdpass-Unterstützung für mod_proxy |
mod_proxy_ftp | FTP -Unterstützung für 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 -Unterstützung für mod_proxy |
mod_proxy_scgi | SCGI -Gateway-Unterstützung für mod_proxy |
mod_proxy_wstunnel | WebSocket -Unterstützung für mod_proxy |
mod_ratelimit | Bandbreitenbegrenzung |
mod_reflector | |
mod_remoteip | Ersetzt die Client-IP mit einer Useragent-IP |
mod_reqtimeout | Legt Timeout fest |
mod_request | Unterstützung für HTTP-Anfragen (Requests) |
mod_rewrite | Rewrite-Engine |
mod_security | Sicherheitsmodul ( Web Application Firewall ) |
mod_sed | Filtern mit sed |
mod_session | Unterstützung für Sitzungen |
mod_session_cookie | Sitzungen mit Cookies |
mod_session_crypto | Sitzungsverschlüsselung |
mod_session_dbd | DBD/SQL-basierte Sitzungen |
mod_setenvif | Erlaubt das Setzen von Umgebungsvariablen je nach Anfrage |
mod_slotmem_plain | Slot-based shared memory provider |
mod_slotmem_shm | Slot-based shared memory provider |
mod_so | Unterstützung für das Laden von Programmbibliotheken |
mod_socache_dbm | DBM-basierter socache |
mod_socache_dc | Distcache -basierter socache |
mod_socache_memcache | Memcache -basierter socache |
mod_socache_shmcb | shmcb -basierter socache |
mod_speling | Modul zum Korrigieren von Rechtschreibfehlern bei der Eingabe |
mod_ssl | Kryptographie mittels SSL bzw. TLS |
mod_status | Informationen über Serveraktivität und -leistung |
mod_substitute | Ermöglicht Suchen & Ersetzen in der Serverantwort |
mod_suexec | CGI-Skripte als anderer Benutzer ausführen (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 | Benutzer-spezifische Verzeichnisse |
mod_usertrack | Clickstream -Logging |
mod_version | Versionsabhängie Konfiguration |
mod_vhost_alias | Dynamische Konfiguration für Virtual Hosting |
mod_watchdog | Periodisches Ausführen von Aufgaben |
mod_xml2enc | Fremde Zeichensätze für libxml2 -Filtermodule |
Siehe auch
Weblinks
- httpd.apache.org – Offizielle Website (englisch)
- Apache Webserver Sicherheitsstudie. (PDF, 634 kB) Bundesamt für Sicherheit in der Informationstechnik , November 2002, abgerufen am 29. Januar 2010 .
- Linkkatalog zum Thema Apache bei curlie.org (ehemals DMOZ )
Einzelnachweise
- ↑ www.apache.org . (abgerufen am 23. August 2016).
- ↑ linuxdocs.org . (abgerufen am 23. August 2016).
- ↑ github.com . (abgerufen am 11. August 2017).
- ↑ The apache Open Source Project on Open Hub: Languages Page . In: Open Hub . (abgerufen am 26. September 2018).
- ↑ projects.apache.org . (abgerufen am 8. April 2020).
- ↑ httpd.apache.org . (abgerufen am 7. April 2016).
- ↑ www.apache.org . (abgerufen am 23. August 2016).
- ↑ Web Server Survey. Netcraft , Ltd., abgerufen am 13. April 2016 .
- ↑ Why the name “Apache”? In: Apache Server Frequently Asked Questions. Apache Software Foundation, abgerufen am 3. November 2015 (englisch).
- ↑ Apache FAQ (experimental first posting). In: Google groups. Google Inc., 13. Mai 1997, abgerufen am 29. Januar 2010 (englisch).
- ↑ Upgrading to 2.4 from 2.2. Abgerufen am 14. Januar 2017 .
- ↑ Apache HTTP Server 2.4.43 Released. In: Apache HTTP Server. Apache Software Foundation, 1. April 2020, abgerufen am 27. Mai 2020 .
- ↑ Apache Release History (englisch)
- ↑ Modul-Index – Apache HTTP Server. apache.org, abgerufen am 15. November 2014 .