Apache (palvelinohjelma)

Apache HTTP Server on avoimeen lähdekoodiin perustuva HTTP-palvelinohjelma. Apachen HTTP-palvelin on Apache Software Foundationin tunnetuin tuote.

 Yleistä 
Apachen HTTP-palvelin on saatavilla Unixille (BSD:t, Linux), Windowsille ja useille muille käyttöjärjestelmille, ja lisäksi se on integroitu OS X -käyttöjärjestelmään. Sen kehitys alkoi NCSA:n httpd-palvelinohjelmasta. Alkujaan Apache oli vain joukko päivityksiä ja korjauksia NCSA:n palvelimeen, mutta version 2.0 myötä se kirjoitettiin kokonaan uudelleen. Apachen nimi viittaa virallisesti Apassi-intiaaniheimoon, mutta sen on sanottu alusta lähtien olevan myös väännös ilmaisusta "a patchy server" (paikattu palvelin).

Pelkkä Apache tukee ainoastaan staattisten tiedostojen jakamista HTTP-protokollan yli. Apachen ydintä voidaan täydentää useilla moduuleilla, jotka mahdollistavat palvelimen räätälöinnin omia tarpeita vastaavaksi. Osa moduuleista tulee ohjelmiston mukana, osa on muiden tahojen tekemiä. Mukana tulevia moduuleita ovat muun muassa mod_cgi, joka mahdollistaa ulkoisten ohjelmien ajamisen CGI-ympäristössä, ja mod_rewrite, joka mahdollistaa erittäin monipuolisen URIen manipuloinnin. Ulkopuolisia moduuleja ovat muun muassa mod_perl, joka integroi Perl-tulkin palvelimeen ja nopeuttaa täten Perl-kielellä kirjoitettujen skriptien suorittamista, ja mod_log_mysql, joka mahdollistaa lokien tallentamisen MySQL-tietokantaan.

Vuoden 1996 huhtikuusta lähtien Apache on ollut Internetin suosituin HTTP-palvelin. Netcraftin tutkimuksen mukaan Apachella on 50 prosentin osuus kaikista palvelimista elokuussa 2008. Toiseksi suosituin palvelinohjelmisto on ollut Netcraftin mukaan Microsoftin IIS. 
Myöhemmin nginx on ohittanut Apachen suosiossa ja Microsoftin palvelin on menettänyt suosiotaan.

 Tekniikka 
Apache käyttää usean prosessin arkkitehtuuria ilman säikeistystä. Jokainen käynnistetty prosessi voi käsitellä tulevia pyyntöjä, ja pääprosessi hallitsee käynnissä olevien prosessien poolia.
Varhaisissa versioissa oli viivettä, jotta palvelin saavuttaa tietyn määrän lapsiprosesseja kuormituksen palvelemiseen.

 Versiointi 
Apachen versio 2.2.0 julkaistiin 1. joulukuuta 2005.

Apache käyttää versionumerojärjestelmää, jota Linux-ydin ennen käytti: jos sekundäärinen versionumero on pariton, on kyseessä kehitys- ja testiversio, jossa saattaa olla testaamattomia ja toimimattomia ominaisuuksia, ja jos numero on parillinen, on kyseessä vakaa, tuotantokäyttöön tarkoitettu versio.

 Katso myös 
 .htaccess – Apachen hakemistokohtainen asetustiedosto
 Apache Cocoon
 LAMP

 Lähteet 

 Aiheesta muualla 
 Virallinen sivusto 

Luokka:Linux-ohjelmat
Luokka:Windows-ohjelmat
Luokka:Seulonnan keskeiset artikkelit
Luokka:Apache Software Foundation
Luokka:Palvelinsovellukset