Servidor HTTP Apache

O **Servidor HTTP Apache**, denominado normalmente como **Apache** [], é un servidor web importante polo papel que xogou no crecemento inicial da web. Apache foi a primeira alternativa viable ao servidor web de Netscape Communications Corporation (coñecido actualmente como Sun Java System Web Server), e desde entón evolucionou competindo con outros servidores web en termos de funcionalidade e prestacións.

O nome do proxecto ten dúas posibles orixes: en referencia ao pobo indíxena americano dos apaches e pola orixe do proxecto como conxunto de parches sobre o servidor web NCSA HTTPd 1.3, que en inglés *a patchy server* soa como o nome do servidor web aínda que esta última teoría é simplemente unha coincidencia.

Apache é desenvolvido e mantido por unha comunidade aberta de programadores baixo a coordinación da fundación denominada Apache Software Foundation. A aplicación está dispoñible para unha ampla variedade de sistemas operativos, entre eles Unix, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, e eComStation. Baixo a Licenza Apache, Apache é software libre e software de código aberto.

Dende abril do 1996 Apache é o servidor web máis popular da web. Non obstante, dende novembro do 1995 sofre unha lixeira perda de cota de mercado. En abril do 2008 Apache servía o 50,42% de tódolos sitios web.

## Historia 
A primeira versión do servidor Apache foi creada por Robert McCool, quen participara activamente no servidor web do National Center for Supercomputing Applications, coñecido como NCSA HTTPd. Cando Rob deixou a NCSA a mediados do 1994, o desenvolvemento do servidor web paralizouse, limitándose a conxuntos de pareches que circulaban por correo electrónico.

Robert McCool non estaba só, varios programadores axudaron a formar o inicial *"Grupo Apache"*: Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters e Nicolas Pioch.

A versión do servidor Apache 2.x foi unha reescritura de gran parte do código das versións 1.x, cun fincapé especial na modularización e o desenvolvemento dunha capa de portabilidade, o denominado *Apache Portable Runtime*. O núcleo de Apache 2.x ten moitas melloras substanciais sobre a versión 1.x, entre as que compre destacar: fíos UNIX, mellor soporte de plataformas non UNIX (como Microsoft Windows), unha nova API, e soporte para IPv6. A primeira versión alfa de Apache 2 liberouse en marzo do 2000, e a primeira versión estable o 6 de abril do 2002.

A versión 2.2 introduce unha nova API de autorización que permite maior flexibilidade. Tamén inclúe módulos de caché mellorados e módulos para facer de proxy.

## Funcionalidades 
Apache proporciona un amplo abanico de funcionalidades, moitas delas a través de módulos que estenden o núcleo de funcionalidades. Estas funcionalidades abranguen dende programación no servidor a esquemas de autenticación. Algunhas das linguaxes soportadas para a programación no servidor son: Perl, Python, Tcl e PHP. Os módulos de autenticación máis coñecidos son mod_access, mod_auth e mod_digest. Outras funcionalidades son soporte de SSL e TLS (mod_ssl), un módulo de servidor proxy, un motor para reescribir URLs (mod_rewrite), arquivos de log configurables (mod_log_config), e soporte para filtrado (mod_include e mod_ext_filter).

Os métodos de compresión en Apache permiten reducir o tamaño das páxinas servidas grazas ao módulo mod_gzip. Os arquivos de log poden ser analizados a través dun navegador usando ferramentas gratuítas como AWStats/W3Perl ou Visitors.

O *aloxamento virtual* permite a unha sóa instalación de Apache servir varios sitios web. Por exemplo unha máquina cunha instalación de Aapche pode simultaneamente servir www.example.com, www.test.com, test47.test-server.test.com etc.

Apache permite modificar os mensaxes de erro, autenticación a través de [bases de datos] e negociación do contido. Tamén existen diversos programas con interfaces gráficas que permiten unha máis sinxela configuración do servidor.

## Uso 
Apache úsase principalmente para servir contidos estáticos e páxinas dinámicas na web. Moitas aplicacións web son deseñadas tendo en conta a contorna e funcionalidades que ofrece Apache.

Apache é o servidor web da contorna de execución de aplicacións webs denominada LAMP, xunto con MySQL, e as linguaxes de programación PHP/Perl/Python.

Apache redistribúese como parte de varios paquetes de software propietarios entre os que están a base de datos Oracle ou o servidor de aplicacións IBM WebSphere. Mac OS X integra Apache como servidor web preinstalado e é o que proporciona soporte para o servidor de aplicacións WebObjects. Tamén se usa dalgún xeito por Borland nas ferramentas de desenvolvemento de Kylix e Delphi. Apache tamén se inclúe con Novell NetWare 6.5, onde é o servidor web por defecto.

Apache úsase para moitas outras tarefas nas que o contido ten que estar dispoñible dun xeito seguro e fiable. Un exemplo e a compartición de arquivos desde un ordenador persoal a través de Internet. Un usuario que ten Apache instalado no seu ordenador pode compartir documentos simplemente poñéndoos na raíz dos documentos de Apache.

Os programadores que desenvolven aplicacións web adoitan usar un servidor Apache local para poder previsualizar e probar o código a medida que o van desenvolvendo.

O servidor web de Microsoft IIS é o maior competidor de Apache, seguido do servidor seb de Sun Microsistems Sun Java System Web Server. Algúns dos sitios webs máis visitados no mundo usan Apache. A páxina web de procuras de Google está baseada nunha versión modificada de Apache, denomidada Google Web Server. Os proxectos de Wikimedia, incluída a Wikipedia tamén usan servidores web Apache.

## Licenza 
A lincenza software baixo a que a Fundación Apache distribúe software forma parte da historia do servidor web Apache e tivo moita importancia na comunidade do software de código aberto. A Licenza Apache permite distribuír tanto software libre como derivados privativos do código fonte.

A Free Software Foundation non considera a Licenza Apache compatible coa versión 2 da [GPL], de xeito que software distribuído baixo a Licenza Apache non pode ser integrado con software que usa a licenza GPL. Pola contra, a versión 3 da GPL inclúe unha claúsula (7e) que permite a compatibilidade coa Licenza Apache.

O nome *Apache* é unha marca rexistrada, e pode ser só usada co permiso expreso do seu posuidor.

## Notas 
## Véxase tamén 
### Ligazóns externas 
* Páxina web do proxecto