Apache este un software gratuit și open-source de server web care este utilizat de cca 40% dintre site-uri web în toată lumea. Apache HTTP Server este numele său oficial. Este dezvoltat și întreținut de către Apache Software Foundation . Apache permite proprietarilor site-urilor web să difuzeze conținut pe web. Acesta este motivul pentru care este cunoscut sub numele de ' server web .' Una dintre cele mai fiabile și mai vechi versiuni ale serverului web Apache a fost publicată în 1995.
Dacă cineva dorește să viziteze orice site web, completează numele domeniului în bara de adrese a browserului. Serverul web va aduce fișierele solicitate acționând ca persoana de livrare virtuală.
Sensul Web Server
Servere de corespondență, servere de baze de date, servere web, și servere de fișiere utilizați diferite tipuri de software de server. Toate aceste aplicații pot accesa o mulțime de fișiere salvate pe serverul fizic și le pot aplica pentru multe obiective.
Scopul serverelor web este de a furniza site-uri web pe internet. Se comportă ca un intermediar între mașinile și serverele client pentru a atinge acest scop. Poate trage conținutul prin server peste fiecare solicitare a utilizatorului. De asemenea, trimite această solicitare pe web.
Una dintre sarcinile cele mai critice ale oricărui server web este de a oferi servicii diferiți utilizatori ai web în același timp. Serverele web execută fișiere specificate într-un tip diferit de limbaje de programare, cum ar fi Java , Piton , PHP , și multe altele. Serverele web transformă aceste fișiere în fișiere HTML statice. Oferă servicii acestor fișiere în browserul serverului web. Browserul web poate fi definit ca un instrument responsabil pentru comunicarea decentă client-server.
Funcționarea Apache
Apache nu este un server fizic; este un software care se execută pe server. Cu toate acestea, îl definim ca un server web. Obiectivul său este de a construi o conexiune între browserele vizitatorilor site-ului web (Safari, Google Chrome, Firefox etc.) și server. Apache poate fi definit ca software multiplatformă, deci poate funcționa pe servere Windows și UNIX.
șir în int
Atunci când orice vizitator dorește să încarce o pagină pe site-ul nostru, pe pagina de pornire, de exemplu, sau pe pagina noastră „Despre noi”, browserul vizitatorului va trimite o solicitare pe serverul nostru. Apache va returna un răspuns împreună cu fiecare fișier solicitat (imagini, fișiere etc.). Clientul și serverul comunică prin protocolul HTTP, iar Apache este responsabil pentru comunicarea sigură și fluidă între ambele mașini.
Apache este un software foarte bun personalizabil . Conține structura bazată pe module. Diverse module permit administratorilor de server să dezactiveze și să activeze funcționalități suplimentare. Apache include module pentru stocarea în cache, securitate, autentificare prin parolă, rescriere URL și alte scopuri. De asemenea, putem configura propria noastră configurație a serverului cu ajutorul unui fișier cunoscut sub numele .htaccess . Este un fișier de configurare acceptat al Apache.
Alte servere web vs. Apache
Există atât de multe servere web disponibile care sunt diferite de Apache. Toate aplicațiile serverului web au fost construite pentru diferite tipuri de obiective. Apache are câțiva rivali și alternative și este cel mai des folosit software.
bou vs taur
Apache vs. NGINX
Nginx se pronunță ca Motor-X . Este o nouă aplicație a serverului web și a fost publicată pentru prima dată în 2004. Nginx a câștigat popularitate în rândul proprietarilor de site-uri web. A fost dezvoltat pentru a rezolva problema c10k, ceea ce înseamnă că serverele web care folosesc fire pentru a gestiona diverse solicitări ale utilizatorilor nu pot gestiona peste 10000 de conexiuni simultan.
- Proprietarii site-urilor web cu trafic intens pot întâmpina probleme de performanță deoarece Apache utilizează o structură bazată pe fire. Nginx definește problema c10k, care este probabil una dintre cele mai norocoase.
- Nginx conține arhitectură bazată pe evenimente. Nu creează un proces mai nou pentru toate solicitările. Mai degrabă, gestionează toate solicitările primite într-un fir individual. Acest proces se ocupă de diferite procese de lucru care implementează procesarea efectivă a cererii. Modelul Nginx bazat pe evenimente împărtășește cererile utilizatorilor între tehnicile lucrătorilor într-un mod ușor și eficient, prin urmare oferă o scalabilitate mai bună.
- Nginx poate fi o alegere mai bună, deoarece poate gestiona site-uri web cu trafic ridicat utilizând resurse minime. Mai precis, poate fi folosit de mai multe site-uri web de înaltă vizibilitate precum Airbnb, Pinterest, Hulu și Netflix.
- Cu toate acestea, Apache oferă multe avantaje pe Nginx, deoarece are o configurație ușoară, un mediu prietenos pentru începători și diverse module pentru jucătorii medii sau mici.
Apache vs. Tomcat
Motan cab poate fi definit ca un server web și este îmbunătățit de Apache Software Foundation. Prin urmare, Apache Tomcat este numele său oficial. Tomcat este, de asemenea, un server HTTP. Cu toate acestea, îmbunătățește aplicațiile Java mai degrabă decât site-urile web statice. Acest server web poate executa multe aplicații Java distincte, cum ar fi WebSocket, Java EL, JSP (Pagini JavaServer) și Servlet Java .
- Mai exact, Tomcat a fost creat pentru aplicații Java, în timp ce Apache a fost creat ca server HTTP. Putem aplica Apache cu limbaje de programare distincte (Perl, Python, PHP, etc.) cu suportul modulului Apache adecvat (mod_perl, mod_python, mod_php, etc.).
- Deși putem aplica un server web Tomcat pentru servirea paginilor web (static), acesta este mai puțin eficient în acest scop în comparație cu serverul Apache. Tomcat poate preîncărca Java VM și alte biblioteci Java pe care nu le vom solicita pe majoritatea site-urilor web.
- De asemenea, Tomcat este mai puțin configurabil în comparație cu alte tipuri de servere web. Cea mai bună opțiune este un server HTTP precum NGINX sau Apache pentru a executa WordPress.
Avantaje și dezavantaje ale Apache
Apache poate fi o opțiune excelentă pentru a executa site-ul nostru pe o platformă versatilă și stabilă. Deși, vine cu câteva dezavantaje pe care trebuie să le înțelegem.
Pro:
- Software stabil și de încredere.
- Gratuit și open-source, chiar și pentru uz economic.
- Patch-uri de securitate regulate, actualizate frecvent.
- Prietenos pentru începători, ușor de configurat.
- Flexibil datorită structurii bazate pe module.
- Funcționează dintr-o cutie cu site-urile WordPress.
- Multi-platformă (se implementează pe servere Windows și Unix).
- Suport ușor disponibil și comunitate imensă în cazul oricărei probleme.
Contra:
- Diverse probleme de performanță pe site-uri web cu trafic extrem de intens.
- Mai multe opțiuni de configurare pot cauza susceptibilitate de securitate.
Versiuni de Apache
Versiunea 1.1
Această versiune de Apache a fost autorizată în 2000 de către ASF. Principala modificare se află în „clauza de publicitate” de la licența 1.0. Produsul derivat „clauză publicitară” nu mai este necesar pentru a include aspecte ale materialelor publicitare (numai în documentație).
Versiunea 2.0
Versiunea 2.0 a Apache a fost adoptată de ASF în ianuarie 2004. Obiectivele sale declarate au inclus crearea licenței ușor de aplicat pentru unele proiecte non-ASF. Poate îmbunătăți compatibilitatea cu software-ul bazat pe GPL. Permite adăugarea licenței prin referință, mai degrabă decât listată în toate fișierele. De asemenea, clarifică licența asupra contribuțiilor. Are nevoie de orice licență de brevet pentru contribuții care încalcă în mod necesar brevetele contribuției.
Securitatea Apache
Ca și alte servere web, Apache poate fi exploatat și piratat. Principalul instrument de atac al Apache este Slowloris. Slowloris poate exploata erorile din software-ul Apache. Poate construi mai multe socket-uri și menține toate aceste socket-uri în viață și trimite diferiți octeți (numiți „header-uri păstrate în viață”) pentru a informa serverul că sistemul este conectat și nu se confruntă cu probleme de rețea.
dormi pentru javascript
Mulți dezvoltatori Apache au definit Slowloris cu mai multe module pentru limitarea daunelor cauzate. Diverse module Apache, cum ar fi mod_antiloris, mod_noloris, mod_security, mod_evasive, mod_qos, și mod_limitipconn fiecare a fost sugerat să reducă posibilitatea atacului cu succes al lui Slowloris. Apache livrează modulul mod_reqtimeout ca soluție executivă promovată de dezvoltatori începând cu Apache 2.2.15.
Dezvoltarea Apache
Versiuni Apache HTTP Server
Ultima lansare | Lansare inițială | Versiune |
---|---|---|
03-02-2010 (1.2.42) | 06-06-1998 | 1.3 |
07-10-2013 (2.0.65) | 04-06-2002 | 2.0 |
07-11-2017 (2.2.34) | 01-12-2005 | 2.2 |
08-07-2020 (2.4.46) | 21-02-2012 | 2.4 |
Proiectul Apache este un efort colectiv de îmbunătățire a software-ului care vizează realizarea unei implementări de cod sursă HTTP Server robuste, disponibile gratuit și bogate în caracteristici. În comun, proiectul a fost gestionat de o echipă de voluntari plasați peste tot. Se poate face folosind Web-ul și Internetul pentru a dezvolta, comunica și planifica orice server și documentația aferentă.
Proiectul este un factor al Apache Software Foundation. Mulți utilizatori și-au împărtășit codul, documentația și ideile proiectului.
Versiunea Apache 2.4 oferă suport pentru platformele Tandem, NeXT, UX/A, TPF și BeOS.