Apache HTTP serveris

Istorija

Pirmąją Apache tinklo serverio versiją sukūrė Robert McCool, kuris buvo susijęs su National Center for Supercomputing Applications tinklo serveriu, dar vadinamu NCSA HTTPd. Kai 1994 metais R. McCool paliko NCSA, httpd kūrimas sustojo.
R. McCool šioje srityje padėjo keletas kūrėjų iš „Apache Group“: Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters ir Nicolas Pioch.
Antrąją Apache tinklo serverio versiją sudaro iš esmės perrašytas Apache 1.x kodas, atsižvelgiant į ateities poreikius ir modeliavimą Apache Portable Runtime. Apache 2.x branduolys buvo patobulintas lyginant su Apache 1.x branduoliu. Keletas iš patobulinimų yra ne Unix pagrindu sukurtų platformų geresnis palaikymas (pvz., Microsoft Windows), nauja Apache versija palaiko API ir suderinta su IPv6 standartu. Pirma Apache 2 serverio bandomoji versija buvo išleista 2000 m. kovo mėn., o dabar platinama versija buvo išleista 2002 m. balandžio 6 d.
Versijoje 2.2 buvo įdiegti naujos API funkcijos, patobulinti podėlio (cache) ir tarpinio serverio (proxy) moduliai.

Savybės

Į Apache tinklo serverį įtraukti moduliai, kurie išplečia serverio funkcionalumą – serverių programavimo kalbos (mod_perl, mod_python, Tcl, ir PHP), įgalinimo moduliai (mod_access, mod_auth ir mod_digest). Įtrauktas SSL ir TLS (mod_ssl), tarpinio serverio modulio palaikymas, URL (nuorodų) redaktorius, custom log failai ir duomenų filtravimo palaikymas. Apache pranešimų failai gali būti analizuojami naudojant naršyklę ir laisvai platinamus redaktorius AWStats/W3Perl, Visitors ar kt.
Virtual hosting funkcija leidžia vienai Apache programai aptarnauti kelias internetines svetaines. Pavyzdžiui, vienas kompiuteris su viena Apache programa gali vienu metu aptarnauti kelias svetaines.
Apache viena iš savybių yra konfigūruojami klaidų pranešimai ir DBVS, kuri yra paremta duomenų bazių įgalinimu ir turinio perdavimu. Taip pat Apache yra suderinamas su keletu grafinių sąsajų.

Naudojimas

Apache tinklo serveris naudojamas statinio ir dinaminio turinio svetainėms žiniatinklyje publikuoti. Dauguma internetinių programų yra sukurtos Apache serverio pagrindu.
Apache tinklo serveris yra įtrauktas į populiarų LAMP tinklo serverio programų rinkinį, kartu su MySQL ir PHP/Perl/Python programavimo kalbomis.
Apache yra paplitęs kaip papildomas programinis priedas tokiose programose kaip Oracle Database arba IBM WebSphere programų serveris. Į Mac OS X Apache yra integruotas kaip tinklo serveris ir palaiko tinklo objektų programinės įrangos serverį. Apache taip pat yra įtrauktas į Novell NetWare 6.5 programų paketą.
Apache naudojamas užduotims, kai turinys turi būti pasiekiamas saugiu ir patikimu būdu, pavyzdžiui, dalintis failais per internetą.
Programuotojai, kuriantys tinklo programas, dažnai naudoja Apache vietiniame tinkle, kad galėtų matyti kaip atrodys jų kuriama programa.
Microsoft Internet Information Services (IIS) yra pagrindinis Apache konkurentas, tačiau yra ir kitų konkurentų: Sun Microsystems kuriamas Sun Java System Web Server, Zeus Web Server.

Licencija

Programos licenciją išleido Apache Foundation. Apache licencija leidžia naudoti programinę įrangą tiek atviro, tiek uždaro kodo programoms.
Free Software Foundation neapibrėžia, kaip Apache licencija suderinta su antrąja GNU General Public License (GPL), todėl programinė įranga, kuri yra lincencijuojama pagal Apache licenciją, negali būti integruojama kartu su programine įranga, kurią leidžia GPL.
Apache licencija nustato, kad tai yra laisvai naudojama programinė įranga, bet nesuderinama su GPL dėl specifinių reikalavimų, kurių nėra GPL: pavyzdžiui, reikalavimas turėti patentą.
Trečioji GPL versija jau yra suderinta su licencijomis, kuriose nurodytas patentavimas, todėl suderinama ir Apache licencija.
Apache vardas yra registruotas prekinis ženklas ir gali būti naudojamas tik sutikus prekinio ženklo savininkams.