logo

Kas yra Apache?

„Apache“ yra nemokama atvirojo kodo žiniatinklio serverio programinė įranga, kurią naudoja maždaug 40% svetainių visame pasaulyje. Apache HTTP Server yra jo oficialus pavadinimas. Jį kuria ir prižiūri „Apache“ programinės įrangos fondas . „Apache“ leidžia svetainių savininkams teikti turinį žiniatinklyje. Tai yra priežastis, kodėl ji žinoma kaip ' Tinklapio serveris .' Viena patikimiausių ir seniausių „Apache“ žiniatinklio serverio versijų buvo paskelbta 1995 m.

Jei kas nors nori apsilankyti bet kurioje svetainėje, naršyklės adreso juostoje užpildo domeno pavadinimą. Žiniatinklio serveris atneš prašomus failus, veikdamas kaip virtualus pristatymo asmuo.

geriausias automobilis pasaulyje

Žiniatinklio serverio reikšmė

Pašto serveriai, duomenų bazių serveriai, žiniatinklio serveriai, ir failų serveriai naudoti įvairių tipų serverio programinę įrangą. Visos šios programos gali pasiekti daug failų, išsaugotų fiziniame serveryje, ir pritaikyti jas daugeliui tikslų.

Žiniatinklio serverių tikslas yra teikti svetaines internetu. Jis elgiasi kaip tarpininkas tarp klientų mašinų ir serverių, kad pasiektų šį tikslą. Jis gali perkelti turinį per serverį per kiekvieną vartotojo užklausą. Be to, ji pateikia šią užklausą žiniatinklyje.

Viena iš svarbiausių bet kurio žiniatinklio serverio užduočių yra teikti paslaugas įvairiems skirtingiems interneto vartotojams tuo pačiu metu. Žiniatinklio serveriai vykdo failus, nurodytus kitokio tipo programavimo kalbomis, pvz., Java , Python , PHP , ir daugelis kitų. Žiniatinklio serveriai šiuos failus paverčia statiniais HTML failais. Jis teikia paslaugas šiems failams žiniatinklio serverio naršyklėje. Žiniatinklio naršyklė gali būti apibrėžta kaip įrankis, atsakingas už tinkamą kliento ir serverio ryšį.

Apache darbas

„Apache“ nėra joks fizinis serveris; tai programinė įranga, kuri vykdoma serveryje. Tačiau mes jį apibrėžiame kaip žiniatinklio serverį. Jo tikslas – sukurti ryšį tarp svetainės lankytojų naršyklių (Safari, Google Chrome, Firefox ir kt.) ir serverio. „Apache“ gali būti apibrėžta kaip kelių platformų programinė įranga, todėl ji gali veikti „Windows“ serveriuose ir UNIX.

java ilgas iki eilutės

Kai bet kuris lankytojas nori įkelti puslapį į mūsų svetainę, pavyzdžiui, pagrindinį puslapį arba mūsų puslapį „Apie mus“, lankytojo naršyklė atsiųs užklausą mūsų serveryje. „Apache“ pateiks atsakymą kartu su kiekvienu prašomu failu (vaizdais, failais ir kt.). Klientas ir serveris bendrauja HTTP protokolu, o „Apache“ yra atsakinga už saugų ir sklandų ryšį tarp abiejų įrenginių.

„Apache“ yra aukštos kokybės programinė įranga pritaikoma . Jame yra modulių struktūra. Įvairūs moduliai leidžia serverio administratoriams išjungti ir įjungti papildomas funkcijas. „Apache“ apima modulius, skirtus kaupimui talpykloje, saugai, slaptažodžio autentifikavimui, URL perrašymui ir kitiems tikslams. Be to, mes galime nustatyti savo serverio konfigūraciją naudodami failą, žinomą kaip .htaccess . Tai palaikomas „Apache“ konfigūracijos failas.

Kiti žiniatinklio serveriai prieš „Apache“.

Yra tiek daug žiniatinklio serverių, kurie skiriasi nuo „Apache“. Visos žiniatinklio serverio programos buvo sukurtos įvairių tipų tikslams. „Apache“ turi tam tikrų konkurentų ir alternatyvų ir dažniausiai naudojama programinė įranga.

java bandyti gaudyti

„Apache“ prieš NGINX

Kas yra Apache

Nginx tariamas kaip Variklis-X . Tai nauja žiniatinklio serverio programa, pirmą kartą išleista 2004 m. Nginx išpopuliarėjo tarp svetainių savininkų. Jis buvo sukurtas siekiant išspręsti c10k problemą, o tai reiškia, kad žiniatinklio serveriai, naudojantys gijas įvairioms vartotojų užklausoms valdyti, negali vienu metu apdoroti 10 000+ jungčių.

  1. Intensyvaus srauto svetainių savininkai gali susidurti su našumo problemomis, nes „Apache“ naudoja gijomis pagrįstą struktūrą. Nginx apibrėžia c10k problemą, kuri tikriausiai yra viena sėkmingiausių.
  2. „Nginx“ yra įvykiais pagrįsta architektūra. Tai nesukuria naujesnio proceso visoms užklausoms. Vietoj to, jis tvarko visas gaunamas užklausas atskiroje gijoje. Šis procesas tvarko įvairius darbuotojų procesus, kurie įgyvendina faktinį užklausos apdorojimą. „Nginx“ įvykiais pagrįstas modelis lengvai ir efektyviai dalijasi vartotojų užklausomis tarp darbuotojų metodų, todėl užtikrina geresnį mastelio keitimą.
  3. „Nginx“ gali būti geresnis pasirinkimas, nes jis gali valdyti didelio srauto svetaines naudodamas minimalius išteklius. Tiksliau, ją gali naudoti kelios gerai matomos svetainės, tokios kaip „Airbnb“, „Pinterest“, „Hulu“ ir „Netflix“.
  4. Tačiau „Apache“ suteikia daug „Nginx“ pranašumų, nes turi paprastą konfigūraciją, pradedantiesiems patogią aplinką ir įvairius modulius, skirtus vidutiniams ar mažiems žaidėjams.

Apache prieš Tomcat

Kas yra Apache

Tomcat kabina gali būti apibrėžta kaip žiniatinklio serveris, o ją patobulino Apache Software Foundation. Taigi Apache Tomcat yra jos oficialus pavadinimas. Tomcat taip pat yra HTTP serveris. Tačiau tai pagerina „Java“ programas, o ne statines svetaines. Šis žiniatinklio serveris gali vykdyti daugybę skirtingų Java programų, tokių kaip WebSocket, Java EL, JSP („JavaServer“ puslapiai) ir Java serveris .

  1. Tiksliau, „Tomcat“ buvo sukurtas „Java“ programoms, o „Apache“ buvo sukurtas kaip HTTP serveris. Apache galime pritaikyti su skirtingomis programavimo kalbomis (Perl, Python, PHP ir kt.), palaikydami tinkamą Apache modulį (mod_perl, mod_python, mod_php ir kt.).
  2. Nors tinklalapiams aptarnauti galime pritaikyti Tomcat žiniatinklio serverį (statinį), jis yra mažiau efektyvus šiam tikslui, palyginti su Apache serveriu. Tomcat gali iš anksto įkelti Java VM ir kitas Java bibliotekas, kurių mums nereikės daugumoje svetainių.
  3. Be to, „Tomcat“ yra mažiau konfigūruojamas, palyginti su kitų tipų žiniatinklio serveriais. Geriausias pasirinkimas yra HTTP serveris, pvz., NGINX arba Apache, norint vykdyti „WordPress“.

Apache privalumai ir trūkumai

Apache gali būti puiki galimybė vykdyti mūsų svetainę universalioje ir stabilioje platformoje. Nors tai turi keletą trūkumų, kuriuos turime suprasti.

Privalumai:

  1. Stabili ir patikima programinė įranga.
  2. Nemokama ir atviro kodo, net ir ekonomiškam naudojimui.
  3. Reguliarūs saugos pataisymai, dažnai atnaujinami.
  4. Patogus pradedantiesiems, lengvai konfigūruojamas.
  5. Lankstus dėl modulinės struktūros.
  6. Veikia iš karto su „WordPress“ svetainėmis.
  7. Kelių platformų (diegia Windows serveriuose ir Unix).
  8. Lengvai pasiekiamas palaikymas ir didžiulė bendruomenė bet kokios problemos atveju.

Minusai:

  1. Įvairios našumo problemos itin intensyvaus srauto svetainėse.
  2. Keletas konfigūravimo parinkčių gali sukelti saugumo pavojaus.

Apache versijos

1.1 versija

Šią Apache versiją 2000 m. patvirtino ASF. Pagrindinis pakeitimas yra 1.0 licencijos „reklamos sąlygoje“. „Reklamos sąlygos“ išvestinio produkto nebereikia įtraukti reklaminės medžiagos aspektų (tik dokumentuose).

e-r modelio schema

2.0 versija

2004 m. sausio mėn. ASF priėmė Apache 2.0 versiją. Jos nurodyti tikslai buvo sukurti licenciją, kurią būtų lengva taikyti kai kuriems ne ASF projektams. Tai gali pagerinti suderinamumą su GPL pagrįsta programine įranga. Tai leidžia licenciją pridėti pagal nuorodą, o ne išvardyti visuose failuose. Taip pat paaiškinama licencija dėl įmokų. Tam reikia bet kokios patento licencijos įnašams, kurie būtinai pažeidžia įnašo patentus.

Apache saugumas

Kaip ir kitus žiniatinklio serverius, „Apache“ galima išnaudoti ir įsilaužti. Pagrindinis „Apache“ puolimo įrankis yra „Slowloris“. „Slowloris“ gali išnaudoti „Apache“ programinės įrangos klaidas. Jis gali sukurti kelis lizdus ir išlaikyti visus šiuos lizdus gyvus bei siunčia įvairius baitus (vadinamus „išlikti gyvam“ antraštėmis), kad praneštų serveriui, kad sistema prijungta ir nesusiduria su tinklo problemomis.

Daugelis „Apache“ kūrėjų apibrėžė „Slowloris“ su keliais moduliais, kad sumažintų padarytą žalą. Įvairūs Apache moduliai, pvz mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, ir mod_limitipconn Kiekvienam iš jų buvo pasiūlyta sumažinti sėkmingo Slowloris atakos tikimybę. „Apache“ pristato modulį mod_reqtimeout kaip vykdomąjį sprendimą, kurį kūrėjai reklamuoja nuo „Apache 2.2.15“.

Apache kūrimas

Apache HTTP serverio versijos

Naujausias leidimas Pradinis leidimas Versija
2010-02-03 (1.2.42) 1998-06-06 1.3
2013-10-07 (2.0.65) 2002-06-04 2.0
2017-11-07 (2.2.34) 2005-12-01 2.2
2020-07-08 (2.4.46) 2012-02-21 2.4

„Apache“ projektas yra kolektyvinės programinės įrangos tobulinimo pastangos, kuriomis siekiama sukurti komercinio lygio, patikimą, laisvai prieinamą, daug funkcijų turintį šaltinio kodo HTTP serverio diegimą. Projektą bendrai vykdė visur esanti savanorių komanda. Tai galima padaryti naudojant žiniatinklį ir internetą kuriant, bendraujant ir planuojant bet kurį serverį ir susijusią dokumentaciją.

Projektas yra „Apache Software Foundation“ veiksnys. Daugelis vartotojų pasidalino savo kodu, dokumentais ir idėjomis projektui.
Apache 2.4 versija palaiko Tandem, NeXT, UX/A, TPF ir BeOS platformas.