Apache proti strežniku Tomcat
Apache Server in Tomcat Server sta dva izmed izdelkov, ki ju je razvila Apache Software Foundation. Apache je spletni strežnik HTTP, medtem ko je Apache Tomcat vsebniško okolje Servlet. Vendar ima strežnik Tomcat lastno komponento strežnika HTTP. Apache in Tomcat se zaradi podobnosti v njunih imenih pogosto zamenjujeta za isti strežnik. Čeprav jih je razvila ista organizacija, niso združeni skupaj. Običajno se ta dva izdelka uporabljata skupaj v podjetjih za streženje spletnih mest.
Kaj je strežnik Tomcat?
Tomcat (znan tudi kot Apache Tomcat ali Jakarta Tomcat) ponuja okolje spletnega strežnika HTTP »čista java«, ki se lahko uporablja za izvajanje kode Java. Gre za vsebnik Servlet, ki ga je razvila Apache Software Foundation in je na voljo kot odprtokodni izdelek. Specifikacije Java Servlet in JSP (Java Server Pages) podjetja Sun Microsystems izvaja Tomcat. Apache Tomcat je mogoče konfigurirati s konfiguracijskimi datotekami XML (čeprav so orodja za konfiguracijo in upravljanje vključena v strežnik). Tomcat 7.0 je najnovejša stabilna različica Tomcata, ki je v prejšnji različici predstavil veliko novih funkcij.
Apache je začel delati na Apache 7.0 že januarja 2009. Vendar je bil po 2 letih (januarja 2011) objavljen stabilen. Tomcat 7.0.6 je prva stabilna izdaja Tomcat 7. Tomcat 7.0 je bil zgrajen na podlagi izboljšav, predstavljenih v prejšnji različici, in implementira specifikacije API Servlet 3.0, JSP 2.2 in EL 2.2. Izboljšave, ki jih ponuja Tomcat 7.0, so odkrivanje/preprečevanje puščanja pomnilnika v spletnih aplikacijah, izboljšana varnost za upravitelja/upravljalnika gostitelja, zaščita CSRF (Cross-Site Request Forgery), možnost neposrednega vključevanja zunanje vsebine v aplikacije in očiščena koda (vključno s preoblikovanjem priključki in življenjski cikli).
Kaj je strežnik Apache?
Apache (ali Apache Server) je spletni strežnik HTTP, ki ga je razvila Apache Software Foundation. Strežnik Apache naj bi imel pomembno vlogo pri hitrem širjenju svetovnega spleta. Z njim je implementiranih že več kot 100 milijonov spletnih mest. Velja za najbolj priljubljen strežnik HTTP. Trenutno služi 2/3 vseh spletnih mest na svetu, vključno z 2/3 milijona najbolj obremenjenih spletnih mest. Apache je večplatformski strežnik, ki večinoma podpira sisteme, podobne Unixu, kot so UNIX, FreeBSD, Linux in Solaris. Zažene se lahko tudi v sistemih Mac OS X in Microsoft Windows. Robert McCool je prvotni avtor Apacheja, njegova prva izdaja pa je bila leta 1995. Njegova trenutna stabilna izdaja je 2.2.19, ki je bila izdana 22. maja 2011. Apache je odprtokodna programska oprema, napisana v jeziku C in licencirana pod licenco Apache 2.0.
Osnovna funkcionalnost Apache je razširjena z uporabo različnih funkcij, implementiranih kot prevedeni moduli. Apache podpira Perl, Python in PHP ter različne module za preverjanje pristnosti, vključno z mod_access, mod_auth in mod_auth_digest. Spletni strežnik Apache podpira tudi SSL (Secure Sockets Layer) in TLS (Transport Layer Security). Poleg tega Apache zagotavlja posredniški modul, mehanizem za prepisovanje, sistem beleženja in sistem filtriranja. AWStats ali W3Perl lahko uporabite za analizo dnevnikov Apache. Mod_gzip je metoda stiskanja, ki jo zagotavlja strežnik Apache. Odprtokodni mehanizem za odkrivanje/preprečevanje vdorov, ModSecurity je prav tako vključen v Apache.
Kakšna je razlika med strežnikom Apache in Tomcat?
– Strežnik Apache je spletni strežnik HTTP, medtem ko je strežnik Apache Tomcat predvsem aplikacijski strežnik, ki se uporablja za izvajanje kode Java.
– Apache je napisan v C, medtem ko je Tomcat napisan v Javi.
– Apache se uporablja za streženje statične vsebine, medtem ko se Tomcat uporablja predvsem za dinamično vsebino, kot so Java Servlets in datoteke JSP.
– Običajno se ugotovi, da je Apache hitrejši od Tomcata, ko gre za serviranje statične vsebine.
– Apache je tudi bolj nastavljiv in robusten kot Tomcat.
– Če pa na svojem spletnem mestu strežete dinamično vsebino, je Tomcat edina možnost od teh dveh strežnikov, saj lahko Apache streže samo statično vsebino, kot so strani HTML.