logo

Što je Apache?

Apache je besplatan i open-source softver web poslužitelja koji koristi cca 40% web stranica diljem svijeta. Apache HTTP Server je njegov službeni naziv. Razvijaju ga i održavaju Apache Software Foundation . Apache dopušta vlasnicima web stranica posluživanje sadržaja putem weba. To je razlog zašto je poznat kao ' web poslužitelj .' Jedna od najpouzdanijih i najstarijih verzija web poslužitelja Apache objavljena je 1995. godine.

Ako netko želi posjetiti bilo koju web stranicu, upisuje naziv domene u adresnu traku preglednika. Web-poslužitelj će donijeti tražene datoteke nastupajući kao virtualni dostavljač.

Značenje web poslužitelja

Mail poslužitelji, poslužitelji baza podataka, web poslužitelji, i poslužitelji datoteka koristiti različite vrste poslužiteljskog softvera. Sve ove aplikacije mogu pristupiti velikom broju datoteka spremljenih na fizičkom poslužitelju i primijeniti ih za mnoge ciljeve.

Cilj web poslužitelja je isporuka web stranica putem interneta. Ponaša se kao posrednik među klijentskim strojevima i poslužiteljima kako bi postigao taj cilj. Može povući sadržaj kroz poslužitelj preko svakog korisničkog zahtjeva. Također, isporučuje ovaj zahtjev na web.

Jedan od najvažnijih zadataka bilo kojeg web poslužitelja je pružanje usluga različitim korisnicima weba u isto vrijeme. Web poslužitelji izvršavaju datoteke navedene u drugoj vrsti programskih jezika poput Java , Piton , PHP , i mnogi drugi. Web poslužitelji te datoteke pretvaraju u statične HTML datoteke. Pruža usluge tim datotekama unutar preglednika web poslužitelja. Web preglednik se može definirati kao alat odgovoran za pristojnu komunikaciju klijent-poslužitelj.

Rad Apachea

Apache nije fizički poslužitelj; to je softver koji se izvršava na poslužitelju. Međutim, mi ga definiramo kao web poslužitelj. Njegov cilj je izgraditi vezu između preglednika posjetitelja web stranice (Safari, Google Chrome, Firefox itd.) i poslužitelja. Apache se može definirati kao višeplatformski softver, tako da može raditi na Windows poslužiteljima i UNIX-u.

sqrt java matematika

Kada bilo koji posjetitelj želi učitati stranicu na našoj web stranici, početnu stranicu, na primjer, ili našu stranicu 'O nama', posjetiteljev preglednik će poslati zahtjev našem poslužitelju. Apache će vratiti odgovor zajedno sa svakom traženom datotekom (slike, datoteke itd.). Klijent i poslužitelj komuniciraju putem HTTP protokola, a Apache je odgovoran za sigurnu i glatku komunikaciju između oba stroja.

Apache je softver koji je visoko prilagodljiv . Sadrži strukturu temeljenu na modulu. Razni moduli dopuštaju administratorima poslužitelja da isključuju i uključuju dodatne funkcije. Apache uključuje module za predmemoriju, sigurnost, provjeru autentičnosti lozinke, prepisivanje URL-ova i druge svrhe. Također, možemo postaviti vlastitu konfiguraciju poslužitelja uz pomoć datoteke poznate kao .htaccess . To je podržana konfiguracijska datoteka Apachea.

Ostali web poslužitelji u odnosu na Apache

Postoji toliko mnogo dostupnih web poslužitelja koji se razlikuju od Apachea. Sve aplikacije web poslužitelja izgrađene su za različite vrste ciljeva. Apache ima neke konkurente i alternative i uglavnom je korišten softver.

python novi redak

Apache protiv NGINX-a

Što je Apache

Nginx se izgovara kao Motor-X . To je nova aplikacija web poslužitelja i prvi put objavljena 2004. Nginx je stekao popularnost među vlasnicima web stranica. Razvijen je za rješavanje problema c10k, što znači da web poslužitelji koji koriste niti za upravljanje različitim zahtjevima korisnika ne mogu podnijeti više od 10 000 veza odjednom.

  1. Vlasnici web stranica s velikim prometom mogu naići na probleme s performansama jer Apache koristi strukturu temeljenu na nitima. Nginx definira c10k problem koji je vjerojatno jedan od najsretnijih.
  2. Nginx sadrži arhitekturu vođenu događajima. Ne gradi noviji proces za sve zahtjeve. Umjesto toga, upravlja svim dolaznim zahtjevima u pojedinačnoj niti. Ovaj proces obrađuje različite radne procese koji implementiraju stvarnu obradu zahtjeva. Nginxov model temeljen na događajima dijeli korisničke zahtjeve između radnih tehnika na jednostavan i učinkovit način, stoga pruža bolju skalabilnost.
  3. Nginx može biti bolji izbor jer može upravljati web stranicama s velikim prometom koristeći minimalne resurse. Točnije, može ga koristiti nekoliko visokovidljivih web stranica kao što su Airbnb, Pinterest, Hulu i Netflix.
  4. Međutim, Apache pruža mnoge prednosti na Nginxu jer ima jednostavnu konfiguraciju, okruženje prilagođeno početnicima i razne module za srednje i male igrače.

Apache protiv Tomcata

Što je Apache

Mačak cab definirati kao web poslužitelj i poboljšao ga je Apache Software Foundation. Stoga je službeni naziv Apache Tomcat. Tomcat je također HTTP poslužitelj. Međutim, poboljšava Java aplikacije umjesto statičnih web stranica. Ovaj web poslužitelj može izvršavati mnoge različite Java aplikacije kao što su WebSocket, Java EL, JSP (JavaServer stranice) i Java Servlet .

  1. Naime, Tomcat je kreiran za Java aplikacije, dok je Apache kreiran kao HTTP poslužitelj. Apache možemo primijeniti s različitim programskim jezicima (Perl, Python, PHP itd.) uz podršku odgovarajućeg Apache modula (mod_perl, mod_python, mod_php itd.).
  2. Iako možemo primijeniti Tomcat web poslužitelj za posluživanje web stranica (statičnih), on je manje učinkovit u tu svrhu u usporedbi s Apache poslužiteljem. Tomcat može unaprijed učitati Java VM i druge biblioteke Jave koje nećemo trebati na većini web stranica.
  3. Također, Tomcat je manje konfigurabilan u usporedbi s drugim vrstama web poslužitelja. Najbolja opcija je HTTP poslužitelj kao što je NGINX ili Apache za pokretanje WordPressa.

Za i protiv Apachea

Apache može biti izvrsna opcija za izvođenje naše web stranice na svestranoj i stabilnoj platformi. Iako dolazi s nekoliko nedostataka koje moramo razumjeti.

Prednosti:

  1. Stabilan i pouzdan softver.
  2. Besplatno i otvorenog koda, čak i za ekonomičnu upotrebu.
  3. Redovite sigurnosne zakrpe, često ažurirane.
  4. Prikladan za početnike, jednostavan za konfiguriranje.
  5. Fleksibilan zbog strukture temeljene na modulima.
  6. Radi izvan okvira s WordPress stranicama.
  7. Više platforma (implementira se na Windows poslužiteljima i Unixu).
  8. Lako dostupna podrška i velika zajednica u slučaju bilo kakvog problema.

Protiv:

  1. Razni problemi s izvedbom na web stranicama s iznimno velikim prometom.
  2. Nekoliko opcija konfiguracije može uzrokovati sigurnosnu osjetljivost.

Verzije Apachea

Verzija 1.1

Ovu verziju Apachea odobrio je 2000. ASF. Glavna promjena je unutar 'reklamne klauzule' iz licence 1.0. Proizvod izvedeni iz 'klauzule o oglašavanju' više nije potreban za uključivanje aspekata reklamnih materijala (samo u dokumentaciji).

Verzija 2.0

ASF je usvojio verziju 2.0 Apachea u siječnju 2004. Njegovi navedeni ciljevi uključuju stvaranje licence koja se lako može prijaviti za neke projekte koji nisu ASF. Može poboljšati kompatibilnost sa softverom temeljenim na GPL-u. Omogućuje da se licenca doda referencom umjesto da se navodi u svim datotekama. Također pojašnjava licencu nad doprinosima. Nužno mu je potrebna patentna licenca nad doprinosima koji krše patente doprinosa.

Sigurnost Apachea

Kao i drugi web poslužitelji, Apache se može eksploatirati i hakirati. Glavni napadački alat Apachea je Slowloris. Slowloris može iskoristiti greške unutar softvera Apache. Može izgraditi nekoliko utičnica i sve te utičnice održava živima i šalje različite bajtove (zvane 'keep-alive headers') kako bi obavijestio poslužitelj da je sustav povezan i da nema problema s mrežom.

java konstante

Mnogi programeri Apachea definirali su Slowloris s nekoliko modula za ograničavanje prouzročene štete. Razni moduli Apachea kao što su mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, i mod_limitipconn svaki je predložen kako bi se smanjila mogućnost uspješnog napada Slowlorisa. Apache isporučuje modul mod_reqtimeout kao izvršno rješenje koje su programeri promovirali od Apache 2.2.15.

Razvoj Apachea

Verzije Apache HTTP poslužitelja

Najnovije izdanje Prvo izdanje Verzija
02.03.2010. (1.2.42) 06-06-1998 1.3
07-10-2013 (2.0.65) 04-06-2002 2.0
7-11-2017 (2.2.34) 01-12-2005 2.2
08-07-2020 (2.4.46) 21.02.2012 2.4

Projekt Apache zajednički je napor za poboljšanje softvera usmjeren na izradu komercijalne, robusne, besplatno dostupne implementacije izvornog koda HTTP poslužitelja bogatog značajkama. Zajednički je projekt vodio tim volontera raspoređen posvuda. To se može učiniti korištenjem Weba i Interneta za razvoj, komunikaciju i planiranje bilo kojeg poslužitelja i povezane dokumentacije.

Projekt je dio Apache Software Foundationa. Mnogo je korisnika podijelilo svoj kod, dokumentaciju i ideje za projekt.
Verzija Apache 2.4 pruža podršku za platforme Tandem, NeXT, UX/A, TPF i BeOS.