Limba

Despre apache

Ce este apache ?
Apache este un server HTTP de tip open source.

Apache Web Server a jucat și joacă un rol important în dezvoltarea web-ului, fiind folosit în prezent în circa 65.2 % din paginile web.

Apache este dezvoltat de o comunitate deschisă de programatori sub emblema Apache Software Foundation. Aplicația este disponibilă pentru o mare varietate de sisteme de operare incluzând Unix, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows si OS/2.





Ce este un Web Server

Serverele de fișiere, serverele de baze de date, serverele de poștă și serverele web utilizează diferite tipuri de software server. Fiecare dintre aceste aplicații poate accesa fișiere stocate pe un server fizic și le poate folosi în scopuri diferite.

Rolul unui server web este să servească site-uri web pe internet. Pentru a atinge acest obiectiv, acesta acționează ca un intermediar între server și client. Acesta trage conținut de pe server la fiecare cerere de utilizator și îl livrează pe web.

Cea mai mare provocare a unui server web este de a servi mai mulți utilizatori web diferiți, în același timp - fiecare dintre ei solicită pagini diferite. Serverele web procesează fișierele scrise în diferite limbaje de programare, cum ar fi PHP, Python, Java și altele.
Când auziți cuvântul web server, gândiți-vă la acesta ca la un instrument responsabil pentru comunicarea corectă server-client.

Cum funcționează Apache

Deși spunem că Apache este un server web, nu este un server fizic, ci mai degrabă un software care rulează pe un server. Sarcina sa este de a stabili o conexiune între un server și browserele vizitatorilor site-ului (Firefox, Google Chrome, Safari etc.) în timp ce livrează fișiere înainte și înapoi între ele (structura client-server). Apache este un software cross-platform, de aceea funcționează atât pe servere Unix, cât și pe Windows.)

Când un vizitator dorește să încarce o pagină pe site-ul dvs., de exemplu, pagina principală sau pagina „Despre noi”, browserul său trimite o solicitare serverului dvs., iar Apache returnează un răspuns cu toate fișierele solicitate (text, imagini etc. ). Serverul și clientul comunică prin protocolul HTTP, iar Apache este responsabil pentru comunicarea lină și sigură între cele două mașini.

Serverul web Apache are module care adaugă mai multe funcții software-ului său, cum ar fi MPM (pentru gestionarea modurilor de procesare multiplă) sau mod_ssl pentru activarea suportului SSL v3 și TLS. Unele caracteristici comune observate în Apache includ:

  • HTTP/2
  • Perl și PHP
  • Accelerare lățime de bandă
  • WebDAV
  • Echilibrarea load-ului
  • Rescriere URL
  • Urmărirea sesiunilor
  • Geolocalizare bazată pe adresa IP

Un server poate găzdui multe site-uri web, nu doar unul - deși, în lumea exterioară, acestea par separate unele de altele. Pentru a obține acest lucru, fiecăruia dintre site-urile respective trebuie să li se atribuie un nume diferit, chiar dacă în cele din urmă, toate acestea se realizează pe aceeași mașină. Acest lucru se realizează folosind ceea ce este cunoscut sub numele de gazde virtuale.

Întrucât adresele IP sunt dificil de reținut, noi, ca vizitatori ale anumitor site-uri, de obicei introducem numele lor de domeniu în caseta de adrese URL din browserele noastre. Browserul se conectează apoi la un server DNS, care traduce domeniul la adresa IP. Browserul ia apoi adresa IP returnată și se conectează la ea. Browserul trimite, de asemenea, un antet de gazdă cu solicitarea, astfel încât, dacă serverul găzduiește mai multe site-uri, va ști pe care dintre ele îl va servi înapoi.

Structura Generală

După cum am menționat anterior, Apache poate fi instalat pe o varietate de sisteme de operare. Indiferent de platforma folosită, un site web găzduit va avea de obicei patru directoare principale: public_html, conf, jurnalele, cgi-bin.

public_html (ori www ori htdocs) este rădăcina web pentru numele dvs. de domeniu principal. Asta înseamnă că public_html este folderul în care puneți toate fișierele site-ului web pe care doriți să le vadă vizitatorii când accesează domeniul principal.

conf este directorul în care se află toate fișierele de configurare a serverului. Fișierele de configurare sunt, practic, fișiere text simple, unde sunt adăugate directive pentru a controla comportamentul și funcționalitatea serverului web. Fiecare directivă este de obicei plasată pe o linie separată, iar tasta hash (#) indică un comentariu, astfel încât linia continuată de ea este ignorată.

logs sau jurnalele sunt directorul în care sunt păstrate jurnalele serverului și include jurnalele de acces Apache și jurnalele de erori. Serverul HTTP Apache oferă o varietate de mecanisme diferite pentru înregistrarea a tot ceea ce se întâmplă pe aceasta, de la cererea inițială, prin procesul de mapare a adreselor URL, până la rezoluția finală a conexiunii, inclusiv orice erori care s-au putut produce în proces. În afară de aceasta, modulele terțe pot oferi funcții de înregistrare sau pot injecta intrări în fișierele jurnal existente, iar aplicații precum scripturi PHP sau alți gestionari pot trimite mesaje către jurnalul de erori al serverului.

cgi-bin este directorul în care sunt păstrate scripturile CGI. CGI (Common Gateway Interface) definește o modalitate prin care un server web poate interacționa cu programe externe care generează conținut, care sunt adesea denumite programe CGI sau scripturi CGI. Acestea sunt programe sau scripturi shell care sunt scrise pentru a fi executate de Apache în numele clienților săi.

Este important de reținut faptul că numele fișierelor și directoarelor discutate mai sus (precum și locațiile) pot diferi de la un server la altul, în funcție de flavor-ul Apache instalat și de sistemul de operare pe care îl rulează. Rolurile rămân însă aceleași.

Alternativa

O alternativa la Apache WebServer ar putea fi NGINX sau LiteSpeed. NGINX este adesea selectat de către administratori pentru eficiența resurselor și receptivitatea sa sub sarcină.

Ambele servere web, în cele mai recente versiuni ale acestora, pot concura între ele în majoritatea domeniilor. Pentru un conținut static NGINX este cel mai bun, dar pentru conținut dinamic diferența de performanță este destul de mică. NGINX iese în evidență cu unele dintre funcțiile sale mai avansate (streaming media, proxy invers pentru protocoalele non-HTTP), precum și asistența comercială și instruirea.

Utilizatorii de shared hosting ar putea prefera comoditatea fișierului Apache .htaccess, totodată Apache acceptă mai bine încărcarea diverselor module dinamice, caracteristică pe care NGINX a adăugat-o recent. NGINX este utilizat în principal pentru gazduire VPS sau hosting dedicat.

Concluzie

Apache a fost cel mai popular server web de pe internet din 1996, cu mai mult de jumătate din site-urile de pe web care funcționează pe acesta. Acesta a jucat un rol cheie în conturarea și transformarea World Wide Web în ceea ce este astăzi. Motivele care stau la baza succesului său sunt evidente și felul în care arată lucrurile, probabil că va rămâne în frunte pentru destul de mult timp. Aceasta a fost menită să fie o sesiune introductivă a acestui software puternic și sper că a fost de ajutor în înțelegerea care este acest instrument excelent și cum funcționează în general.