OpenSource Apache versus Microsoft IIS

Marek Erneker, 01. červen 2009 09:14 0 komentářů
Rubriky: Internet

Logo Ignum
Drtivou většinu internetového provozu stále ovládají 2 nejznámější HTTP servery – OpenSource Apache a Microsoft IIS (Internet Information Server). Každý v podstatě představuje jeden ze dvou předních fenoménů programování webových aplikací – PHP a .NET. Kterému dát přednost a proč?


Marek Erneker
Marek Erneker

Ačkoliv internet nejsou pouze webové stránky, představují tyto jeho nezanedbatelnou a nejvyužívanější část. Webové stránky nám nabízí široké možnosti zprostředkování informací, tedy jeden ze základních principů internetu a tak je nutné provozu HTTP serveru věnovat řádnou pozornost.

Souboj dvou řešení


Svět již dlouhá léta ovládají dvě jména HTTP serverů – Apache a IIS. Zatímco Apache je spojován především se skriptovacím jazykem PHP, IIS představuje zcela jiný směr, a to Microsoft technologii .NET.
Současný vývoj PHP se po úspěšné implementaci podstatné části objektového modelu orientuje hlavně na opravu chyb a sjednocování podporovaných modulů/rozhraní, zatímco .NET se věnuje hlavně další integraci tříd a funkcionalit zjednodušujících programátorům další práci.

Rozdíly ve filosofii


Třebaže práce s oběma programovacími jazyky se znatelně liší a tedy se tyto i těžko porovnávají, jsou již nyní patrné zvětšující se rozdíly. Přístup obou serverů je odlišný v podstatě od počátku až do konce. Apache byl od začátku vyvíjen jako OpenSource pod licencí GPL a zpracovává každý požadavek klienta jako samostatný úkol. Naproti tomu IIS, které je součástí většiny Windows distribucí pro PC a je vydáván pod společnou licencí s OS Windows, je schopno zpracovávat souvisle požadavky stejného klienta nad stejným paměťovým blokem. Programátor v .NETu pak vyvíjí webovou aplikaci jako celek, nikoliv jako oddělené a na sebe více či méně navazující jednotlivé události vyvolávané požadavkem klienta. Zjednodušuje se tak např. držení proměnných, ale třeba i otevřených souborů či připojení k DB.

Z toho logicky vyplývá, že stále více programátorů se věnuje právě .NETu. Odlišný přístup při programování webu jako celistvé a objektové aplikace zvyšuje kvalitu výsledku. Již několik let máme možnost IIS spravovat i skrze definovaný formát XML či příkazy PowerShellu, což usnadňuje správu celého systému a tvorbu vlastních nástrojů.

Apache: otevřenost


Apache naproti tomu vyniká svou otevřeností a množstvím tzv. modulů, které slouží k rozšíření jeho schopností. Podporuje vznik vlastních Apache modulů a jejich užití pro speciální případy konkrétního provozovatele. Výjimkou není ani zásah do samotných zdrojových kódů a úprava některých vlastností tohoto serveru. Skriptovací jazyk PHP, jež se pro mnohé programátory stal modlou a ještě častěji byl prvním krokem do programovacího světa, je pak jen dalším z modulů. Podobně jako je .NET spojován především s IIS, je PHP spojováno s Apache (ačkoliv provoz na jiných webových serverech je bez větších obtíží možný také).
Oba produkty se od sebe každopádně vzdalují a jejich role je čím dál více doplňující, nikoliv zastupující. Jednoznačně rozhodujícím kritériem při volbě mezi nimi je pak programovací jazyk daného projektu a tomu odpovídající prostředí jak vývoje, tak i následného provozu.

Alternativy


Bylo by chybou zapomenout na další produkty, jako jsou např. Mathop nebo lightHTTP. Nelze předpokládat, že by některý z nich chtěl konkurovat Apache nebo IIS v počtu obsluhovaných webových aplikací. Jejich význam spočívá hlavně ve speciálních aplikacích jako např. poskytování statického obsahu souborů nebo při realizaci speciálních programovacích jazyků, u nichž bývá webový server součástí celého produktu.
Situace ve využití webových serverů se velmi podobá odvěké válce mezi OS. Apache představuje komunitu OpenSource, jehož nejčastější užití je na OS Linux, a IIS zase typické komerční řešení společnosti Microsoft. Zatímco Microsoft jednoznačně vede v užití mezi domácími počítači, Linux kraluje na poli serverových počítačů, čemuž pak odpovídá i počet hostovaných doménových jmen.

O autorovi


Marek Erneker pracuje ve společnosti IGNUM pátým rokem. Před svým jmenováním výkonným ředitelem působil jako hlavní programátor a člen úzkého vedení společnosti. Je zodpovědný za každodenní řízení aktivit společnosti a její další rozvoj ve všech oblastech působnosti.


Komentáře

RSS 

Komentujeme

Virtuální realitou proti strachu ze smrti

Pavel Houser , 18. červenec 2017 07:00
Pavel Houser

Lidé, kteří reportují „zážitky blízké smrti“, pak mnohdy mají ze smrti menší strach. Nedalo by se to...

Více






Kalendář

22. 07.

27. 07.
Black Hat 2017
27. 07.

30. 07.
Defcon 2017
27. 08.

31. 08.
VMworld 2017
RSS 

Zprávičky

Zákazníci preferují biometrii, ale její zavádění je pomalé

Pavel Houser , 25. červenec 2017 12:50

Manažeři v bankách, kteří jsou zodpovědní za zavádění biometrie, připouštějí nedostatek zkušeností....

Více 0 komentářů

Malware Stantinko napadl více než půl milionu uživatelů ve východní Evropě

Pavel Houser , 25. červenec 2017 10:36

Těžce identifikovatelný nový kmen malwaru se šíří prostřednictvím dvou plug-inů pro prohlížeč Chrome...

Více 0 komentářů

Čeští technici měli omylem přístup k tajným databázím Švédska

ČTK , 25. červenec 2017 10:23

Při předávce systémů švédský úřad nedodržel bezpečnostní postupy....

Více 0 komentářů

Starší zprávičky

Zisk Googlu kvůli pokutě z EU klesl o 28 %

ČTK , 25. červenec 2017 10:16

Příjmy Googlu stouply o 20 % na 18,4 miliardy dolarů. Cena za proklik u Googlu klesla o 26 %. ...

Více 0 komentářů

Roboty využívá téměř čtvrtina českých menších firem

ČTK , 24. červenec 2017 10:00

Důvodem investic do robotizace nesmí být všeobecný trend, ale faktická potřeba. ...

Více 0 komentářů

Začne platit nový zákon, který má šetřit náklady na budování sítí

ČTK , 24. červenec 2017 09:00

Provozovatelé vodovodních, energetických i kanalizačních sítí budou muset umožnit přístup zájemců o ...

Více 1 komentářů

Šéfem nového úřadu pro kyberbezpečnost by měl být Navrátil

ČTK , 24. červenec 2017 08:00

Úřad měl dostat vlastní rozpočtovou kapitolu. ...

Více 0 komentářů