Apache HTTP Server
Vyvinul | Softwarová nadace Apache |
---|---|
První verze | 1995 |
Poslední verze | 2.4.46 (5. srpna 2020) |
Pokročilá verze | 2.5.0-alfa (8. listopadu 2017) |
Vklad | svn.apache.org/repos/asf/httpd/httpd |
Napsáno | VS |
Operační systém | Multiplatformní |
Jazyky | Angličtina |
Typ | webový server |
Licence | Licence Apache verze 2.0 |
webová stránka | httpd.apache.org |
Free software Apache HTTP server ( Apache ) je HTTP server vytvoří a udržuje v rámci nadace Apache . Do dubna 2019 to byl nejoblíbenější server HTTP v síti WWW . Je distribuován v souladu s podmínkami licence Apache .
Objevil se Apache Dubna 1995. Na začátku to byla sbírka oprav a dodatků k serveru NCSA HTTPd 1.2, který byl ve veřejné doméně a tehdy nejpopulárnějším serveru HTTP. Od tohoto původu mnoho lidí tvrdí, že název Apache pochází z nepravidelného serveru nebo „ nepravidelného serveru “. Následně byl Apache zcela přepsán, takže ve verzi 2 není po NCSA HTTPd žádná stopa.
Zpočátku, Apache byl jediný vážný a volný alternativa k HTTP serveru z Netscape ( iPlanet , nyní Sun ONE ). Od té dobyDubna 1996, podle probíhající studie Netcraft , Apache se stal nejoblíbenějším serverem HTTP na internetu .
Podíl Apache na trhu:
Apache verze 2 má oproti verzi 1 několik významných vylepšení, včetně podpory více platforem ( mimo jiné Windows , Linux a UNIX ), podpory tenkých procesů UNIX , nového API a podpory IPv6 .
Nadace Apache ( Apache Software Foundation nebo ASF ) byla vytvořena v roce 1999 ze skupiny Apache (skupina Apache ), která server vytvořila v roce 1995 . Od té doby bylo spolu se serverem HTTP vyvinuto mnoho dalšího softwaru užitečného pro World Wide Web .
Apache pracuje hlavně na operačních systémech UNIX ( Linux , Mac OS X , Solaris , BSD a UNIX ) a Windows . Verze pro Windows je považována za stabilní pouze od verze Apache 1.2. Apache je používán mnoha produkty, včetně WebSphere od IBM , stejně jako Oracle Corporation .
Apache je navržen tak, aby podporoval mnoho modulů, které mu dodávají další funkce: interpretaci Perlu , PHP , Pythonu a Ruby , proxy server , rozhraní Common Gateway , Server Side Includes , přepsání URL , vyjednávání obsahu, další komunikační protokoly atd. Je však třeba poznamenat, že existence mnoha modulů Apache komplikuje konfiguraci webového serveru. Osvědčené postupy skutečně doporučují načíst pouze užitečné moduly: pravidelně se objevuje mnoho chyb zabezpečení ovlivňujících pouze moduly Apache.
Možnosti konfigurace Apache jsou vlajkovou lodí. Princip je založen na hierarchii konfiguračních souborů, které lze spravovat samostatně. Tato funkce je zvláště užitečná pro hostitele, kteří mohou obsluhovat weby několika zákazníků pomocí jediného serveru HTTP . Pro zákazníky je tato funkce zviditelněna souborem .htaccess .
Mezi nástroji pomáhajícími s údržbou Apache mohou být soubory protokolu analyzovány pomocí mnoha skriptů a bezplatného softwaru, jako jsou AWStats , Webalizer nebo W3Perl . Konfiguraci serveru usnadňuje několik grafických rozhraní.
Tyto dva hlavní režimy provozu zejména mění výkon serveru HTTP.
Historicky Apache funguje v preforku , což znamená, že nadřazený proces spuštěný s rozšířenými právy ( root ) spouští podřízené procesy, které každý zvládne určitý počet požadavků klienta. V systému Linux však multiplikace procesů způsobí zvýšení spotřeby zdrojů (paměť, deskriptory souborů).
V pracovním režimu Apache spouští vlákna, která budou zpracovávat příchozí požadavky. Rozdíl je v tom, že se jedná o více preventivní režim, ve kterém nadřazený proces připravuje prostředky pro svá vlákna. Moduly vyvinuté třetími stranami nebo knihovny používané těmito moduly nemusí být navrženy tak, aby fungovaly v prostředí s více vlákny; v tomto případě mohou být zdrojem poruch, pokud jsou používány v pracovním režimu .
Od verze 2.4 je modul události k dispozici ve výrobě. To je odvozeno z pracovního režimu kromě toho, že vlákna nejen obsluhují připojení klienta, ale mohou provádět více úkolů nezávisle na připojení. Pojmy KeepAlivejsou tedy lépe spravovány v tom smyslu, že vlákno již nečeká na ukončení připojení, aby sloužilo jinému. Jasněji řečeno, vlákno slouží požadavku a ne připojení.
Moduly: prefork.c, worker.c, event.c
Prostřednictvím mod_proxy je mimo jiné možné použít Httpd Server jako skutečný proxy server .
Jedno z nejzajímavějších použití spočívá v rozložení zátěže , a to buď v kontextu vysoké dostupnosti, nebo pro získání lepšího výkonu. Dovednosti reverzního proxy jsou dostatečně vyvinuty pro plynulé vydání do produkce od verze 2.1.
Moduly: mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect