Apache HTTP -palvelin
Kehittäjä | Apache-ohjelmistosäätiö |
---|---|
Ensimmäinen versio | 1995 |
Viimeinen versio | 2.4.46 (5. elokuuta 2020) |
Edistynyt versio | 2,5,0-alfa (8. marraskuuta 2017) |
Tallettaa | svn.apache.org/repos/asf/httpd/httpd |
Kirjoitettu | VS |
Käyttöjärjestelmä | Monialustainen |
Kieli (kielet | Englanti |
Tyyppi | verkkopalvelin |
Lisenssi | Apache-lisenssiversio 2.0 |
Verkkosivusto | httpd.apache.org |
Ilmainen ohjelmisto Apache ( Apache ) on HTTP-palvelin luodaan ja ylläpidetään Apache Foundation . Huhtikuuhun 2019 asti se oli suosituin HTTP-palvelin Internetissä . Sitä jaetaan Apache-lisenssin ehtojen mukaisesti .
Apache ilmestyi Huhtikuu 1995. Alussa tämä oli korjausten ja lisäysten kokoelma NCSA HTTPd 1.2 -palvelimelle , joka oli julkisesti käytettävissä ja silloin suosituin HTTP-palvelin. Tästä alkuperästä monet väittävät, että Apache- nimi tulee hajautetulta palvelimelta tai "paikatulta palvelimelta". Myöhemmin Apache kirjoitettiin kokonaan uudelleen, joten versiossa 2 ei ole jälkiä NCSA HTTPd: stä.
Aluksi Apache oli ainoa vakava ja vapaa vaihtoehto HTTP-palvelimen ja Netscape ( iPlanet nyt Sun ONE ). Siitä asti kunHuhtikuu 1996, Netcraftin käynnissä olevan tutkimuksen mukaan Apachesta on tullut Internetin suosituin HTTP-palvelin .
Apache-markkinaosuus:
Apache-versiolla 2 on useita merkittäviä parannuksia versioon 1 verrattuna, mukaan lukien tuki useille alustoille (mm. Windows , Linux ja UNIX ), tuki UNIX- kevyille prosesseille , uusi sovellusliittymä ja tuki IPv6: lle .
Apache Foundation ( Apache Software Foundation tai ASF ) luotiin vuonna 1999 Apache-ryhmästä ( Apache Group ), joka loi palvelimen vuonna 1995 . Siitä lähtien HTTP-palvelimen rinnalle on kehitetty monia muita ohjelmia, jotka ovat hyödyllisiä Internetille .
Apache toimii pääasiassa käyttöjärjestelmissä UNIX ( Linux , Mac OS X , Solaris , BSD ja UNIX ) ja Windows . Windows-versiota pidetään vakaana vain Apache-version 1.2 jälkeen. Apache käyttävät monia tuotteita kuten WebSphere peräisin IBM sekä Oracle Corporation .
Apache on suunniteltu tukemaan monia moduuleja, jotka antavat sille lisätoimintoja: Perlin , PHP: n , Pythonin ja Rubyn tulkinta , välityspalvelin , Common Gateway Interface , Server Side Includes , URL- kirjoitus , sisältöneuvottelut, viestintäprotokollat jne. On kuitenkin huomattava, että monien Apache-moduulien olemassaolo vaikeuttaa verkkopalvelimen kokoonpanoa. Parhaiden käytäntöjen mukaan suositellaan vain hyödyllisten moduulien lataamista: monia tietoturva-aukkoja, jotka vaikuttavat vain Apache-moduuleihin, havaitaan säännöllisesti.
Apachen määritysmahdollisuudet ovat lippulaivaominaisuus. Periaate perustuu kokoonpanotiedostojen hierarkiaan, jota voidaan hallita itsenäisesti. Tämä ominaisuus on erityisen hyödyllinen isännille, jotka voivat palvella useiden asiakkaiden sivustoja yhdellä HTTP-palvelimella . Asiakkaille tämän toiminnon tekee näkyväksi .htaccess- tiedosto .
Apachen ylläpitoa helpottavista työkaluista lokitiedostot voidaan analysoida useilla komentosarjoilla ja ilmaisohjelmilla, kuten AWStats , Webalizer tai W3Perl . Useat graafiset rajapinnat helpottavat palvelimen määritystä.
Nämä kaksi päätoimintatapaa muuttavat huomattavasti HTTP-palvelimen suorituskykyä.
Historiallisesti Apache toimii preforkissa , mikä tarkoittaa, että laajennetuilla oikeuksilla ( root ) käynnistetty vanhempaprosessi käynnistää aliprosessit , joista kukin käsittelee tietyn määrän asiakaspyyntöjä. Kuitenkin Linux-käyttöjärjestelmässä prosessien lisääntyminen lisää resurssien kulutusta (muisti, tiedostojen kuvaajat).
In työntekijä tilassa , Apache käynnistää langat , jotka käsittelevät saapuvia pyyntöjä. Erona on, että tämä on ennakoivampi tila , jossa pääprosessi valmistelee resursseja ketjuilleen. Kolmansien osapuolten kehittämiä moduuleja tai näiden moduulien käyttämiä kirjastoja ei saa suunnitella toimimaan monisäikeisessä ympäristössä; tässä tapauksessa ne voivat olla toimintahäiriöiden lähde, jos niitä käytetään työntekijätilassa .
Versiosta 2.4 lähtien tapahtumamoduuli on saatavana tuotannossa. Tämä on johdettu työntekijätilasta paitsi, että säikeet paitsi palvelevat asiakasyhteyttä myös voivat suorittaa useita tehtäviä yhteydestä riippumatta. Siksi käsitteitä KeepAlivehallitaan paremmin siinä mielessä, että säie ei enää odota, että yhteys katkaistaan palvelemaan toista. Selvemmin sanottuna säie palvelee pyyntöä eikä yhteyttä.
Moduulit: prefork.c, worker.c, event.c
Muun muassa mod_proxy-palvelun kautta on mahdollista käyttää Httpd-palvelinta todellisena välityspalvelimena .
Yksi mielenkiintoisimmista käyttötavoista on kuormituksen tasapainottaminen joko korkean käytettävyyden yhteydessä tai paremman suorituskyvyn saavuttamiseksi. Käänteisen välityspalvelimen taidot ovat riittävän kehittyneet sujuvaan tuotantoon julkaisemiseen versiosta 2.1.
Moduulit: mod_proxy, mod_proxy_balancer, mod_proxy_http, mod_proxy_ajp, mod_proxy_connect