Compression
PerformanțăCompression (compresia) în contextul web se referă la reducerea dimensiunii fișierelor transmise între server și browser folosind algoritmi precum Gzip sau Brotli. Serverul compresează resursele înainte de trimitere, iar browserul le decompresează la primire. Compresia reduce cu 60-90% dimensiunea fișierelor text (HTML, CSS, JS), accelerând semnificativ încărcarea paginilor.
Compresia web este una dintre cele mai eficiente și ușor de implementat optimizări de performanță. Funcționează prin reducerea dimensiunii datelor transmise între server și browserul utilizatorului, folosind algoritmi de compresie care identifică și elimină redundanțele din conținut.
Mecanismul este transparent pentru utilizator: browserul trimite header-ul Accept-Encoding indicând algoritmii suportați (gzip, br, deflate), serverul compresează răspunsul cu cel mai eficient algoritm comun și adaugă header-ul Content-Encoding, iar browserul decompresează automat conținutul primit.
Compresia este deosebit de eficientă pentru fișierele text — HTML, CSS, JavaScript, JSON, XML și SVG — care conțin multă redundanță. Un fișier JavaScript de 500 KB poate fi redus la 100-150 KB cu Gzip sau 80-120 KB cu Brotli. Fișierele binare deja comprimate (JPEG, PNG, WOFF2, ZIP) nu beneficiază de compresie suplimentară.
Cei doi algoritmi principali sunt:
Gzip — standardul universal, suportat de toate browserele și serverele. Oferă compresie bună (60-80% reducere) cu overhead minim de procesare. Nivelurile de compresie variază de la 1 (rapid, compresie minimă) la 9 (lent, compresie maximă), cu nivelul 6 ca echilibru optim.
Brotli — dezvoltat de Google, oferă compresie cu 15-25% mai bună decât Gzip pentru conținut web. Suportat de toate browserele moderne. Compresia este mai lentă dar decomprimarea este la fel de rapidă.
În Nginx, activarea compresiei se face prin directivele gzip on și brotli on (modulul brotli necesită instalare separată). Majoritatea furnizorilor de hosting din România au Gzip activat implicit, dar Brotli poate necesita configurare manuală.
Compresia funcționează cel mai bine în combinație cu minificarea — mai întâi se minifică codul, apoi se compresează, obținând reduceri cumulate de 85-95%.