Apache Web Server
Trocha historie…
Vývoj Apache započal někdy v roce 1994, po odchodu Roba McCoola z NCSA university v Illinois. Tehdy začal vývoj NCSA httpd stagnovat, a tak bylo mnoho webmasterů donuceno vyvíjet vlastní rozšíření nebo opravovat chyby ve stávajícím httpd. Následně malá skupina těchto webmasterů, komunikující převážně po e-mailu, založila původní skupinu Apache, vedenou Brianem Behlendorfem a Cliffem Skolnickem. Jako základ použili poslední verzi NCSA httpd serveru, a to verzi 1.3. K ní přidali všechny publikované opravy chyb a rozšíření, otestovali na svých serverech a v dubnu 1995 tak vydali svoji první verzi Apache Web Serveru (0.6.2).
Apache se brzy stal hitem a bylo jasné, že potřebuje přepsat od základu. Během května a června navrhnul Robert Thau zbrusu novou architekturu serveru, nazvaného kódovým označením Shambhala. Nová architektura zahrnovala modulární strukturu a API pro lepší rozšiřitelnost, pool-based alokaci paměti a adaptivní preforking model. Mezitím se Rob Hartill a zbytek skupiny zaměřili na implementaci nových vlastností do verze 0.7.x. Celá skupina se nakonec překlopila na nové schema a přidala všechny vlastnosti z verze 0.7.x do Apache 0.8.8, který vydala v srpnu 1995.
Po usilovném testování, mnoha portacích na různé platformy, s novou sadou dokumentace a spoustou dalších vlastností přišla v prosinci roku 1995 nová verze Apache, a to verze 1.0.
Apache Web Server se stal po méně než roce vedoucím WWW serverem na internetu, v současné době má něco okolo 62 % z celkového počtu WWW serverů.
Co Apache nabízí?
- HTTP 1.1 web server
- vysokou konfigurovatelnost a rozšiřitelnost (moduly třetích stran)
- vlastní API
- kompletní zdrojový kód k dispozici
- běží na mnoha platformách, MS Windows nevyjímaje
- je stále aktivně vyvíjen
Odlišnosti verze 2.0
Zde jsou popsány některé základní rozdíly mezi řadou 1.3.x a 2.0.x
- unix threading
- Na unixových systémech s podporou POSIX threadů nyní Apache podporuje hybridní multiprocesní mód (kombinace vláken a procesů).
- nové API
- Obsahuje např. zlepšení podpory modulů — jejich řazení při natahování se již provádí zcela automaticky, byla přidána nová volání bez nutnosti patchovat jádro Apache.
- podpora IPv6
- Nově Apache také podporuje tento nový IPprotokol.
- podpora Unicode na Windows NT platformě
- Apache 2.0.x nyní podporuje utf-8 pro jména souborů.
A plány do budoucna?
Apache by stále měl být Open Source, měl by stále sledovat trendy a novinky v HTTP protokolu a vývoji WWW, měl by být schopen reagovat na požadavky svých uživatelů v oblasti vývoje…
Kde ho sehnat
Apache web Server je možné si stáhnout na adrese httpd.apache.org nebo jej najdete ve své distribuci.
Alternativy k Apache Web Serveru
Boa
Boa je jednoúlohový HTTP server. To znamená, že při příchodu nového požadavku neforkuje (nezakládá nový proces), ale interně se rozdělí mezi všechny požadavky. Při testování dokázal Boa obsloužit několik tisíc požadavků za sekundu na 300 MHz Pentiu a několik hitů za sekundu na 20 MHz 386/SX.
Primárním cílem Boa je rychlost a bezpečnost. Boa není přeplněn vlastnostmi. Je to i určitá daň za vytčený cíl.
Autorem Boa je Paul Phillips, který ho napsal v roce 1991. V současnosti Boa spravuje Larry Doolittle a Jon Neolson a můžete jej stáhnout na www.boa.org
Na Boa je založen např. projekt Hydra – hydra.hellug.gr
thttpd
Minimalistický HTTP server. Implementuje opravdu jen ty nejnutnější věci z HTTP 1.1 protokolu. Podporuje také IPv6. Má zabudouvanou unikátní vlastnost, a to URL-based throttling, tzn. že podle nastavení dokáže zpomalovat provoz pro určitá URL, např. dokáže pomaleji obsluhovat URL, obsahující odkaz na obrázek, než URL, obsahující HTML kód apod.
Ke stažení na www.acme.com/software/thttpd.
Abyss web server
Web server pro platformy Linux a Windows. Jeho výhodou je malá velikost – menší než 104 kB, podpora HTTP 1.1 protokolu, CGI skriptů, SSI a řízení přístupu. Dá se konfigurovat vlastním WWW rozhraním. Přes CGI rozhraní podporuje např. i PHP stránky.
Ke stažení na www.aprelium.com
Caudium
Caudium je web server s licencí GNU GPL, napsaný v Pike a C. Mezi jeho hlavní výhody patří výkon — je to neforkovaný monolitický server, umožňuje používání šablon — šablony se tvoří v jazyce XML (RXML), mohou obsahovat makra nebo Pike kód pro provádění složitějších operací nebo výpočtů. Caudium také obsahuje zajímavou vlastost, a tou je databáze podpory. Je to mechanismus, při kterém WWW server zjistí sám možnosti prohlížeče a podle toho upravuje samotné HTML stránky — takže jejich autor není zatížen tvorboujavascriptů na rozpoznání a oddělení kódu pro rozdílné prohlíčeče.
Konfigurace caudia je též možná po WWW. Uživatel může napsat vlastní rozšíření v jazyce Pike nebo C, dynamický obsah může být generován např. přes PHP nebo CGI, takže migrace z WWW serverů Apache je velice snadná.
Ke stažení na caudium.net