Tipus | Servidor web |
---|---|
Basat en | NCSA HTTPd (en) |
Versió inicial | 1995[1] |
Versió estable | 2.4.18[2] |
Llicència | Apache License |
Disponible en | |
Epònim | apatxe i pedaç |
Característiques tècniques | |
Sistema operatiu | Multiplataforma |
Escrit en | C/C++, XML[3] |
Equip | |
Creador/s | Robert McCool[1] |
Desenvolupador(s) | Apache Software Foundation |
Més informació | |
Lloc web | httpd.apache.org |
Stack Exchange | Etiqueta |
Free Software Directory | Apache_HTTP_Server |
| |
Apache HTTP Server és un servidor HTTP (de pàgines web) de codi obert multiplataforma desenvolupat per Apache Software Foundation.
Quan va començar el seu desenvolupament l'any 1995, es basava inicialment en el codi del popular NCSA 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 la World 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 Microsoft Internet Information Services i .NET, fet servir per alguns dels grans proveidors de blogs.[5] En octubre de 2007 Apache va servir el 27,73% de tots els llocs 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 per Robert McCool, que va participar intensament al servidor web National Center for Supercomputing Applications, conegut simplement com a NCSA 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, la Apache 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 nova API, i suport per a IPv6.
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 suporten mod_perl, mod_python, Tcl, i PHP. Alguns mòduls d'autenticació populars inclouen mod_access, mod_auth i mod_digest. Algunes altres característiques són suport per a SSL i TLS (mod_ssl), un mòdul proxy, un reescriptor d'URL (també conegut com a rewrite 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 sobre HTTP. Els logs d'Apache poden ser analitzats mitjançant un navegador web fent servir scripts lliures com ara AWStats/W3Perl o Visitors.
El virtual 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 en SGBD, i negociació de continguts. També està suportat per diverses interfí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. Moltes aplicacions web s'han dissenyat fent servir l'entorn i les funcionalitats que Apache ofereix.
Apache és el component de servidor web del popular paquet LAMP, que també inclou MySQL i els llenguatges de programació PHP/Perl/Python.
Apache és redistribuït com a part de diversos paquets de programari propietaris com ara Oracle Database o el servidor d'aplicacions IBM WebSphere. Mac OS X integra Apache com a servidor web integrat i com a suport per als seu servidor d'aplicacions WebObjects. Està suportat d'alguna forma per Borland en les eines de desenvolupament Kylix i Delphi. 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.
Microsoft Internet Information Services (IIS) és el competidor principal d'Apache, seguit pel Sun Java System Web Server de Sun Microsystems i altres aplicacions com ara Zeus 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: