logo

Mikä on Apache?

Apache on ilmainen ja avoimen lähdekoodin web-palvelimen ohjelmisto, jota käyttää noin 40 % sivustoista ympäri maailmaa. Apache HTTP Server on sen virallinen nimi. Sitä kehittää ja ylläpitää Apache Software Foundation . Apache sallii verkkosivustojen omistajien tarjota sisältöä verkossa. Tästä syystä se tunnetaan nimellä ' verkkopalvelin .' Yksi luotettavimmista ja vanhimmista Apache-verkkopalvelimen versioista julkaistiin vuonna 1995.

Jos joku haluaa vierailla millä tahansa verkkosivustolla, hän täyttää verkkotunnuksen nimen selaimensa osoiteriville. Web-palvelin tuo pyydetyt tiedostot toimimalla virtuaalisena jakeluhenkilönä.

Web-palvelimen merkitys

Postipalvelimet, tietokantapalvelimet, web-palvelimet, ja tiedostopalvelimet käyttää erilaisia ​​palvelinohjelmistoja. Kaikki nämä sovellukset voivat käyttää monia fyysiselle palvelimelle tallennettuja tiedostoja ja käyttää niitä moniin tarkoituksiin.

Web-palvelimien tarkoitus on toimittaa verkkosivustoja Internetin kautta. Se toimii välittäjänä asiakaskoneiden ja palvelimien joukossa tämän tavoitteen saavuttamiseksi. Se voi vetää sisällön palvelimen läpi jokaisen käyttäjän pyynnöstä. Lisäksi se toimittaa tämän pyynnön verkkoon.

Yksi web-palvelimen kriittisimmistä tehtävistä on tarjota palveluita useille eri verkon käyttäjille samanaikaisesti. Web-palvelimet suorittavat erityyppisillä ohjelmointikielillä määritettyjä tiedostoja, kuten Java , Python , PHP , ja monet muut. Web-palvelimet muuttavat nämä tiedostot staattisiksi HTML-tiedostoiksi. Se tarjoaa palveluja näille tiedostoille verkkopalvelimen selaimessa. Web-selain voidaan määritellä työkaluksi, joka on vastuussa kunnollisesta asiakas-palvelin-kommunikaatiosta.

Apachen toiminta

Apache ei ole mikään fyysinen palvelin; se on ohjelmisto, joka suoritetaan palvelimella. Määrittelemme sen kuitenkin verkkopalvelimeksi. Sen tavoitteena on rakentaa yhteys verkkosivuilla vierailevien selainten (Safari, Google Chrome, Firefox jne.) ja palvelimen välille. Apache voidaan määritellä monialustaiseksi ohjelmistoksi, joten se voi toimia Windows-palvelimissa ja UNIXissa.

joukko objekteja javassa

Kun joku vierailija haluaa ladata sivun verkkosivuillemme, esimerkiksi kotisivullemme tai 'Tietoja meistä' -sivullemme, vierailijan selain lähettää pyynnön palvelimellemme. Apache palauttaa vastauksen jokaisen pyydetyn tiedoston (kuvat, tiedostot jne.) mukana. Asiakas ja palvelin kommunikoivat HTTP-protokollan avulla, ja Apache on vastuussa turvallisesta ja sujuvasta tiedonsiirrosta molempien koneiden välillä.

Apache on ohjelmisto, joka on korkea muokattavissa . Se sisältää moduulipohjaisen rakenteen. Useiden moduulien avulla palvelimen järjestelmänvalvojat voivat ottaa lisätoimintoja käyttöön ja poistaa ne käytöstä. Apache sisältää moduuleja välimuistiin, suojaukseen, salasanan todentamiseen, URL-osoitteiden uudelleenkirjoitukseen ja muihin tarkoituksiin. Voimme myös määrittää oman palvelimemme kokoonpanon tiedoston avulla, joka tunnetaan nimellä .htaccess . Se on Apachen tuettu asetustiedosto.

Muut Web-palvelimet vs. Apache

Saatavilla on monia Web-palvelimia, jotka eroavat Apachesta. Kaikki web-palvelimen sovellukset on rakennettu erilaisiin tarkoituksiin. Apachella on joitain kilpailijoita ja vaihtoehtoja, ja se on enimmäkseen käytetty ohjelmisto.

Apache vs. NGINX

Mikä on Apache

Nginx lausutaan nimellä Moottori-X . Se on uusi web-palvelimen sovellus, joka julkaistiin ensimmäisen kerran vuonna 2004. Nginx on saavuttanut suosiota verkkosivustojen omistajien keskuudessa. Se on kehitetty ratkaisemaan c10k-ongelman, mikä tarkoittaa, että käyttäjien erilaisten pyyntöjen hallintaan säikeitä käyttävät verkkopalvelimet eivät pysty käsittelemään yli 10 000 yhteyttä kerrallaan.

np.unique
  1. Vilkkaan liikenteen sivustojen omistajat voivat kohdata suorituskykyongelmia, koska Apache käyttää säikeisiin perustuvaa rakennetta. Nginx määrittelee c10k-ongelman, joka on luultavasti yksi onnekkaimmista.
  2. Nginx sisältää tapahtumapohjaisen arkkitehtuurin. Se ei rakenna uudempaa prosessia kaikille pyynnöille. Sen sijaan se hallitsee kaikkia saapuvia pyyntöjä yksittäisessä säikeessä. Tämä prosessi käsittelee erilaisia ​​työntekijöiden prosesseja, jotka toteuttavat pyynnön varsinaisen käsittelyn. Nginxin tapahtumapohjainen malli jakaa käyttäjien pyynnöt työntekijätekniikoiden välillä helposti ja tehokkaasti, joten se tarjoaa paremman skaalautuvuuden.
  3. Nginx voi olla parempi valinta, koska se voi hallita paljon liikennettä sisältäviä verkkosivustoja käyttämällä mahdollisimman vähän resursseja. Tarkemmin sanottuna sitä voivat käyttää useat erittäin näkyvät verkkosivustot, kuten Airbnb, Pinterest, Hulu ja Netflix.
  4. Apache tarjoaa kuitenkin monia etuja Nginxissä, koska siinä on helppo konfigurointi, aloittelijaystävällinen ympäristö ja erilaisia ​​moduuleja keskikokoisille tai pienille pelaajille.

Apache vs. Tomcat

Mikä on Apache

Kollikissa cab määritellään web-palvelimeksi, ja sitä on parantanut Apache Software Foundation. Siksi Apache Tomcat on sen virallinen nimi. Tomcat on myös HTTP-palvelin. Se kuitenkin parantaa Java-sovelluksia staattisten verkkosivustojen sijaan. Tämä verkkopalvelin voi suorittaa monia erilaisia ​​Java-sovelluksia, kuten WebSocket, Java EL, JSP (JavaServer-sivut) ja Java servlet .

  1. Erityisesti Tomcat luotiin Java-sovelluksille, kun taas Apache on luotu HTTP-palvelimeksi. Voimme käyttää Apachea erillisillä ohjelmointikielillä (Perl, Python, PHP jne.) oikean Apache-moduulin (mod_perl, mod_python, mod_php jne.) tuella.
  2. Vaikka voimme käyttää Tomcat-verkkopalvelinta web-sivujen (staattinen) palvelemiseen, se on vähemmän tehokas tähän tarkoitukseen verrattuna Apache-palvelimeen. Tomcat voi esiladata Java VM:n ja muut Java-kirjastot, joita emme tarvitse useimmilla verkkosivustoilla.
  3. Tomcat on myös vähemmän konfiguroitavissa muihin verkkopalvelimiin verrattuna. Paras vaihtoehto on HTTP-palvelin, kuten NGINX tai Apache, WordPressin suorittamiseen.

Apachen plussat ja miinukset

Apache voi olla erinomainen vaihtoehto toteuttaa verkkosivustomme monipuolisella ja vakaalla alustalla. Tosin siinä on muutamia haittoja, jotka meidän on ymmärrettävä.

Plussat:

  1. Vakaa ja luotettava ohjelmisto.
  2. Ilmainen ja avoimen lähdekoodin, jopa taloudelliseen käyttöön.
  3. Säännölliset suojauskorjaukset, joita päivitetään usein.
  4. Aloittelijaystävällinen, helppo konfiguroida.
  5. Joustava moduulipohjaisen rakenteen ansiosta.
  6. Toimii suoraan WordPress-sivustojen kanssa.
  7. Cross-platform (toteutetaan Windows-palvelimissa ja Unixissa).
  8. Helposti saatavilla oleva tuki ja valtava yhteisö kaikissa ongelmissa.

Haittoja:

  1. Erilaisia ​​suorituskykyongelmia erittäin vilkkailla verkkosivuilla.
  2. Useat konfigurointivaihtoehdot voivat aiheuttaa suojausalttiutta.

Apachen versiot

Versio 1.1

ASF hyväksyi tämän Apachen version vuonna 2000. Suurin muutos on lisenssin 1.0:n mainontalausekkeessa. Mainoslausekkeesta johdettua tuotetta ei enää tarvita mainosmateriaalin osien sisällyttämiseen (vain dokumentaatioon).

Versio 2.0

ASF hyväksyi Apachen version 2.0 tammikuussa 2004. Sen asetettuihin tavoitteisiin kuului lisenssin luominen helpoksi joillekin ei-ASF-hankkeille. Se voi parantaa yhteensopivuutta GPL-pohjaisen ohjelmiston kanssa. Se sallii lisenssin lisäämisen viittauksella sen sijaan, että se luetellaan kaikissa tiedostoissa. Se myös selventää lisenssiä maksuihin. Se tarvitsee minkä tahansa patenttilisenssin panoksille, jotka loukkaavat osuuden patentteja välttämättä.

Apachen turvallisuus

Kuten muitakin verkkopalvelimia, Apachea voidaan hyödyntää ja hakkeroida. Apachen tärkein hyökkäystyökalu on Slowloris. Slowloris voi hyödyntää Apache-ohjelmiston vikoja. Se voi rakentaa useita pistokkeita ja pitää kaikki nämä pistokkeet hengissä ja lähettää useita tavuja (kutsutaan 'keep-alive header' -otsikoiksi) ilmoittaakseen palvelimelle, että järjestelmä on yhdistetty eikä siinä ole verkkoongelmia.

Monet Apachen kehittäjät ovat määrittäneet Slowloriksen useilla moduuleilla aiheuttamien vahinkojen rajoittamiseksi. Erilaisia ​​Apachen moduuleja, kuten mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, ja mod_limitipconn Jokaisen on ehdotettu vähentävän Slowloriksen onnistuneen hyökkäyksen mahdollisuutta. Apache toimittaa mod_reqtimeout-moduulin executive-ratkaisuna, jota kehittäjät ovat edistäneet Apache 2.2.15:n jälkeen.

Apachen kehitys

Apache HTTP Server -versiot

Viimeisin julkaisu Ensimmäinen julkaisu Versio
03-02-2010 (1.2.42) 06-06-1998 1.3
7.10.2013 (2.0.65) 04-06-2002 2.0
7.11.2017 (2.2.34) 12.01.2005 2.2
08.07.2020 (2.4.46) 21.02.2012 2.4

Apache-projekti on kollektiivinen ohjelmiston parannusyritys, jonka tavoitteena on tehdä kaupallisen tason, vankka, vapaasti saatavilla, runsaasti ominaisuuksia sisältävä lähdekoodin HTTP Server -toteutus. Projektia on hoitanut yhdessä vapaaehtoisten ryhmä kaikkialla. Se voidaan tehdä käyttämällä Webiä ja Internetiä minkä tahansa palvelimen ja siihen liittyvän dokumentaation kehittämiseen, viestimiseen ja suunnitteluun.

esimerkki javascriptistä

Projekti on Apache Software Foundationin tekijä. Monet käyttäjät ovat jakaneet koodinsa, dokumentaationsa ja ideansa projektille.
Apache 2.4 -versio tukee Tandem-, NeXT-, UX/A-, TPF- ja BeOS-alustoja.