Apache HTTP Server

 See artikkel räägib veebiserverist; teiste tähenduste kohta vaadake Apache

Apache HTTP Server ehk lihtsalt Apache on veebiserver, mis on mänginud olulist rolli veebi arengus. Aastal 2009 sai sellest esimene veebiserver, mis suutis ületada 100 miljoni veebilehe verstaposti.[2]

Apache HTTP Server
Autor Robert McCool
Arendaja Apache Software Foundation
Esmaväljalase 1995[1]
Viimane väljalase 2.4.62 / 17.07.2024 Muuda Vikiandmetes
Kirjutatud keeles C
Platvorm Mitmeplatvormne
Keeled Inglise keel
Arenduse staatus Aktiivne
Suunitlus Veebiserver
Litsents Apache Litsents 2.0
Veebisait httpd.apache.org

Apache oli esimene elujõuline konkurent Netscape Communications Corporationi veebiserverile (praeguse nimega Sun Java System Web Server) ning on arvestatavaks konkurendiks teistele UNIXi-põhistele veebiserveritele funktsionaalsuse ja jõudluse poolest. Enamik Apache veebiservereid on paigaldatud Linuxi operatsioonisüsteemiga arvutitesse.[3]

Apache Software Foundationi egiidi all tegeleb Apache arendamise ja hooldamisega avatud tarkvaraarendajate kogukond. Server on paigaldatav ja käitatav mitmel operatsioonisüsteemil: UNIX, GNU, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF ja eComStation. Apache on avatud lähtekoodiga tarkvara ja seda levitatakse Apache Litsentsi tingimustel.

Alates 1996. aasta aprillist on Apache kõige populaarsem HTTP-server veebis. Alates 2009. aasta septembrist kasutab Apache serverit 54,48% kõigist veebilehtedest ja 66% miljonist kõige tihedama liiklusega veebilehest.[4]

Eestis oli Apache veebiserveri turuosa 2004. aastal 79% avalikest füüsilistest serveritest ning domeenipõhise arvestuse järgi serveeriti 95% kõigist saitidest Apache veebiserverites.[5] 2017. aasta seisuga kasutab Apachet 82,49% Eesti veebiservereid.[6].

Ajalugu ja nimi

muuda

Apache serveri esimese versiooni loojaks oli Robert McCool, kes oli tihedalt seotud NCSA veebiserveri arendamisega. Kui McCool 1994. aasta keskel projektist lahkus, siis jäi HTTP arendus toppama ja mitmed parandused sellele ringlesid e-kirjade kaudu. Parandusi levitasid lisaks McCoolile Brian Behlendorf, Roy Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters ja Nicolas Pioch, kes moodustasid algse "Apache grupi".

Nime kohta on mitmeid selgitusi. Apache Software Foundationi väitel valiti nimi austusest Ameerika indiaanlaste hõimu, apatšide vastu, kes olid tuntud vastupidavate ja osavate sõjameestena.[7]

Samas väitis algne KKK Apache kodulehel aastatel 1996–2001, et NCSA serveri parandustega kombineerimise tulemus oli "lapitud server" (inglise a patchy server).[8][9]

Esimest selgitust kinnitas Brian Behlendorf 2000. aastal ühel Apache konverentsil.[10] Tema sõnul oli nimi vihjeks, et "Vange mitte võtta. Olge natuke agressiivsed ja andke tappa".[11]. Behlendorf läks oma sõnadega vastuollu, öeldes 2007. aastal ühes intervjuus, et "Apache server ei ole nimetatud Geronimo hõimu auks", vaid kuna saadeti nii palju parandusi, "kutsus grupp seda lapitud veebiserveriks".[12]. Mõlemad selgitused on tõenäoliselt sobivad, kuigi sõnamängul põhinevat selgitust ei soosita.[13]

Apache serveri teise versiooni lähtekood on võrreldes Apache 1.x-ga oluliselt ümber kirjutatud. Uue koodi kirjutamisel peeti silmas modulaarsuse suurendamist ja portatiivsuse arendamist (Apache Portable Runtime). Apache 2.x tuumal on olulisi eeliseid Apache 1.x-i ees: UNIXi hargtöötlus, parem tugi mitte-UNIXi platvormidele (näiteks Microsoft Windows), uus Apache rakendusliides ja IPv6 tugi.[14] Esimene Apache 2 alfaväljalase oli 2000. aasta märtsis, esimene stabiilne versioon muutus kättesaadavaks 6. aprillil 2002.[15]

Versioon 2.2 tõi endaga kaasa veel paindlikuma autoriseerimise rakendusliidese. Parandatud on ka proksi ja puhvri mooduleid.[16]

Omadused

muuda

Apache toetab mitmeid võimalusi, millest paljud on teostatud tuuma funktsioone laiendavate kompileeritud moodulitena. Võimalused varieeruvad serveri välisete programmeerimiskeelte toest kuni erinevate autentimisskeemide toeni. Levinumad toetatud keeled on Perl, Python, Tcl ja PHP. Populaarsed autentmismoodulid on mod_access, mod_auth, mod_digest ja viimase järglane mod_auth_digest. Samuti on toetatud DBMS-i põhine autentimise andmebaas. Muude omaduste hulgas on SSL-i ja TLS-i tugi (mod_ssl), proksi tugi (mod_proxy), URL-i ümberkirjutamise tugi (mod_rewrite), seadistatavate logifailide tugi (mod_log_config) ja filtreerimise tugi (mod_include ja mod_ext_filter). Veateateid on võimalik seadistada ja Apache serverit toetavad mitmed graafilised kasutajaliidesed (GUI).

Virtuaalhostimine võimaldab ühel Apache serveril teenindada mitut veebilehte.

Kasutamine

muuda

Apachet kasutatakse peamiselt staatiliste ja dünaamiliste veebilehtede serveerimiseks veebis. Mitmed veebirakendused eeldavad Apache poolt pakutava keskkonna ja funktsioonide olemasolu.

Apachet levitatakse osana mitmest firmaomasest tarkvarast. Näiteks kuulub Apache Oracle Andmebaasi ja IBM WebSphere rakenduste serveri juurde. Apache on integreeritud Mac OS X-i sisseehitatud veebiserverina ja selle WebObjects rakenduste serveri toetamiseks. Mõnevõrra toetavad seda ka Borlandi arendustööriistad Kylix ja Delphi. Apache on osa mitmetest Linuxi distributsioonidest ja on Novell Netware 6.5 vaikeveebiserver.

Apachet kasutatakse andmede ohutuks ja usaldusväärseks jagamiseks, näiteks failide jagamiseks oma personaalarvutist üle interneti. Apache serveri oma arvutisse paigaldanud kasutaja saab jagada Apache juurkaustas asuvaid dokumente.

Programmeerijad kasutavad tihti Apache serverit veebirakenduste testimiseks kohalikus võrgus.

Apache peamised konkurendid on Microsofti Internet Information Services (IIS), Sun Microsystemsi Sun Java System Web Server ja Zeus Web Server.

Jõudlus

muuda

Apache arendamisel peetakse silmas tasakaalu paindlikkuse, porditavuse ja jõudluse vahel. Seetõttu pole Apache loodud kõige kiiremaks serveriks, kuid on võrreldav suurele jõudlusele orienteeritud serveritega. Apache server ei ole orienteeritud ühe ülesande täitmiseks, vaid võimaldab moodulite abil iga konkreetset serverit vastavalt vajadusele konfigureerida.

Litsents

muuda

Tarkvaralitsents, mille alusel Apache Software Foundationi tarkvara levitatakse, on tähtis osa Apache serveri ajaloost ja tänapäevast avatud lähtekoodiga tarkvara kogukonnas. Apache litsents võimaldab nii avatud kui ka suletud lähtekoodiga versioonide tarkvara levitamist.

Vaba Tarkvara Fond ei loe Apache Litsentsi ühilduvaks GPL litsentsi teise versiooniga, mis tähendab, et Apache litsentsi alusel levitatavat tarkvara ei tohi integreerida GPL litsentsi alusel levitatavasse tarkvarasse.

GPL litsentsi kolmas versioon sisaldab sätet (lõik 7e), mis lubab ühilduvust litsentsidega, mis sisaldavad patentidega piiratud klausleid, nende hulgas ka Apache litsents.

Nimi Apache on registreeritud kaubamärk ja seda võib kasutada ainult valdaja loal.[17]

Viited

muuda
  1. "About the Apache HTTP Server Project" (Inglise k.). Vaadatud 10.11.2009.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  2. "February 2009 Web Server Survey". Netcraft (Inglise k.). Vaadatud 10.11.2009.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  3. https://secure1.securityspace.com/s_survey/data/man.200907/apacheos.html
  4. "September 2009 Web Server Survey". Netcraft (Inglise k.). Vaadatud 11.11.2009.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  5. Veiko Sang, Eesti veebi serveripoolse keskkonna uuring, magistritöö, 2004, lk 36
  6. "estono.eu – Eesti interneti statistika". Originaali arhiivikoopia seisuga 17. veebruar 2017. Vaadatud 16. veebruaril 2017.
  7. "Frequently Asked Questions" (Inglise k.). The Apache Software Foundation. Vaadatud 11.11.2009.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  8. "Information on the Apache HTTP Server Project" (Inglise k.). 28. oktoober 1996. Originaali arhiivikoopia seisuga 28. oktoober 1996. Vaadatud 25.02.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  9. "Information on the Apache HTTP Server Project" (Inglise k.). 3. august 2001. Originaali arhiivikoopia seisuga 3. august 2001. Vaadatud 25.02.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  10. Rich Bowen (12.05.2001). "A Patchy Server and the FAQ". Mailing list archives (inglise keel). Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  11. "Apache Power". LINUX MAGAZINE (Inglise keel). Aprill 2000. Originaali arhiivikoopia seisuga 14. veebruar 2005. Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  12. Charles Babcock (13.01.2007). "High Five: Meet Brian Behlendorf, CTO of CollabNet". InformationWeek (Inglise keel). CMP Media. Originaali arhiivikoopia seisuga 29.06.2009. Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  13. Joshua Slive (12.05.2001). "A Patchy Server and the FAQ" (Inglise k.). Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  14. "Apache HTTP Server Documentation: Overview of new features in Apache 2.0" (Inglise k.). The Apache Software Foundation. 2007. Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  15. "Apache 2 Release" (Inglise k.). Apache Week. 06.04.2002. Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  16. "Overview of new features in Apache 2.2" (Inglise k.). The Apache Software Foundation. 2007. Vaadatud 01.03.2010.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  17. "Apache License and Distribution FAQ" The Apache Software Foundation, 2007. Külastatud 25.02.2010

Välislingid

muuda