Apache HTTP Server és unservidorHTTP (depàgines web) decodi obertmultiplataforma desenvolupat perApache Software Foundation.
Quan va començar el seu desenvolupament l'any1995, es basava inicialment en el codi del popularNCSA HTTPd 1.3, però més tard es reescriuria completament.
El servidor Apache es desenvolupa dins del projecte HTTP Server (httpd) de l'Apache Software Foundation.
Apache presenta entre altres característiques missatges d'error altament configurables, bases de dades d'autenticació i negociació de continguts, però va ser criticat per la manca d'una interfície gràfica que ajudi a configurar-lo.
Des d'abril de 1996 Apache ha estat el servidor HTTP més popular a laWorld Wide Web; des de març de 2006, tot i això, ha experimentat una declinació de la seva quota de mercat,[4] perduda en major part contra MicrosoftInternet Information Services i.NET, fet servir per alguns dels grans proveidors deblogs.[5]En octubre de 2007 Apache va servir el 27,73% de tots elsllocs web[6] encara que recentment ha tingut un petita remuntada.
El 30 de novembre de 2007, Apache servia el 50,76% de tots els llocs web.
El 30 d'abril de 2012, Apache servia el 57,56% de tots els llocs web. I un 65,24% dels servidors més transitats de tots els dominis.[7]
La primera versió del servidor web Apache va ser creada perRobert McCool, que va participar intensament al servidor webNational Center for Supercomputing Applications, conegut simplement com aNCSA HTTPd. Quan Rob va deixar el NCSA a mitjans de 1994, el desenvolupament de httpd es va paralitzar, deixant diversos patches per a millores circulant per e-mails.
Rob McCool no estava sol als seus esforços. Varis desenvolupadors més van ajudar a crear el "Apache Group" original: Brian Behlendor, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters i Nicolas Pioch.
La versió 2 del servidor Apache va ser una reescritpura substancial de moltes parts del codi d'apache 1.x, amb un fort enfocament en ampliar la seva modularitat i el desenvolupament d'una capa de portabilitat, laApache Portable Runtime. El nucli d'Apache 2.x té diverses millores importants sobre Apache 1.x. Aquestes inclouen fils de UNIX, millor suport per a plataformes no-Unix (com ara Microsoft Windows), una novaAPI, i suport per aIPv6.
LA primera versio alfa de apache 2 fou en Març de l'any 2000, i la primera versió disponible oficialment el 6 d'abril de l'any 2002.[8]
La versió 2.2 va introduir una nova API d'autorització que permet més flexibilitat. També ofereix mòduls de cache millorats i mòduls proxy.
Apache suporta diverses funcionalitats, moltes implementades com a mòduls compilats que estenen la funcionalitat del nucli. Aquests poden incloure des de suport a llenguatges de programació de servidor fins a esquemes d'autenticació. Algunes interfícies de llenguatge comunes suportenmod_perl,mod_python,Tcl, iPHP. Alguns mòduls d'autenticació populars inclouen mod_access, mod_auth i mod_digest. Algunes altres característiques són suport per aSSL iTLS (mod_ssl), un mòdulproxy, un reescriptor d'URL (també conegut com arewrite engine), implementat sota mod_rewrite), fitxers de log personalitzats (mod_log config), i suport al filtratge (mod_include i mod_ext_filter).
Mètodes populars de compressió a Apache inclouen el mòdul d'extensió externa mod_gzip, implementat per a ajudar a la reducció del pes de les pàgines web servides sobreHTTP. Els logs d'Apache poden ser analitzats mitjançant un navegador web fent servir scripts lliures com araAWStats/W3Perl oVisitors.
Elvirtual hosting permet a una instal·lació d'Apache servir molts llocs web diferents. Per exemple, una màquina, amb una instal·lació d'apache podria servir al mateix temps www.exemple.com, www.prova.com, prova47.servidor-prova.prova.com, etc.
Apache ofereix missatges d'error personalitzables, bases de dades d'autenticació basades enSGBD, inegociació de continguts. També està suportat per diversesinterfícies gràfiques d'usuari (GUIs) que permeten configurar el servidor més fàcilment i intuïtivament.
Apache és utilitzat principalment per a servir tant contingut estàtic i pàgines web dinàmiques a la World Wide Web. Moltesaplicacions web s'han dissenyat fent servir l'entorn i les funcionalitats que Apache ofereix.
Apache és el component de servidor web del popular paquetLAMP, que també inclouMySQL i els llenguatges de programacióPHP/Perl/Python.
Apache és redistribuït com a part de diversos paquets de programari propietaris com araOracle Database o el servidor d'aplicacionsIBM WebSphere. Mac OS X integra Apache com a servidor web integrat i com a suport per als seu servidor d'aplicacionsWebObjects. Està suportat d'alguna forma perBorland en les eines de desenvolupamentKylix iDelphi. Apache s'inclou amb Novell NetWare 6.5, on és el servidor web per defecte.
Apache es fa servir per a moltes altres tasques on es necessita que els continguts siguin disponibles de manera segura i fiable. Un exemple és la compartició de fitxers d'un ordinador personal sobre Internet. Un usuari que té Apache instal·lat al seu ordinador pot posar els arxius que vulgui a l'arrel de documents d'Apache i aquests podran llavors ser compartits.
Els programadors que desenvolupen aplicacions web sovint fan servir una versió d'Apache instal·lada localment per a assajar i provar codi a mesura que va sent desenvolupat.
MicrosoftInternet Information Services (IIS) és el competidor principal d'Apache, seguit pelSun Java System Web Server deSun Microsystems i altres aplicacions com araZeus Web Server.
L'arquitectura del servidor Apache és molt modular. El servidor consta d'una secciócore i molta de la funcionalitat que es podria considerar bàsica per un servidor web està en forma de mòduls. Alguns d'aquests són:
El servidor de base es pot estendre mitjançant la inclusió de mòduls externs, entre els quals trobem: