Software-ul de compresie a datelor gzip este multiplataformă și utilizat pe scară largă în dezvoltarea web și proiectele web ca soluție de compresie preferată. Poate fi activat și operat cu ușurință prin intermediul instrumentului de linie de comandă, ajutându-vă să economisiți spațiu de stocare și să îmbunătățiți performanța sistemului.

Cum funcționează gzip?

Gzip — prescurtarea de la „GNU zip” — se bazează pe algoritmul Deflate disponibil gratuit, care combină metoda de compresie LZ77 (Lempel-Ziv 77) cu codarea Huffman. Folosind aceste tehnici, fișierele gzip caută șiruri de date duplicate. Dacă programul întâlnește aceste secvențe recurente, le înlocuiește cu un link către șirul care apare prima dată. Lungimea acestor secvențe este de obicei limitată la 32.000 de octeți. Dacă un șir de caractere nu apare în cei 32.000 de octeți anteriori, acesta este stocat (fără a fi comprimat) în fișierul gzip care primește terminația .gz.

Procedura se limitează la fișiere individuale, motiv pentru care este necesar programul de împachetare tar pentru a crea așa-numitele arhive tarball cu terminațiile: .tar.gz sau .tgz. În mod implicit, fișierul original este șters după gzip (atunci când se aplică direct unui fișier). Cu toate acestea, puteți dezactiva acest comportament automat utilizând parametrul opțional -k. Pentru a decomprima fișierele comprimate, puteți utiliza fie utilitarul gunzip, fie comanda corespunzătoare gzip.

Prezentare generală a sintaxei și comenzilor gzip

Chiar dacă există interfețe grafice disponibile pentru diferite platforme, utilizarea gzip prin comenzi în terminal sau în linia de comandă este, desigur, perfect posibilă. Chiar și începătorii o vor găsi ușor de utilizat, deoarece gzip este un instrument clasic de linie de comandă optimizat pentru acest tip de utilizare. Sintaxa generală respectă această formă:

gzip option file(s)
bash

Nu este necesară specificarea opțiunilor. Dacă câmpul este lăsat necompletat, gzip utilizează pur și simplu setările implicite. De exemplu, următoarea comandă simplă este suficientă pentru a crea o versiune comprimată a fișierului text example.txt:

gzip example.txt
bash

Pentru a decomprima fișierele ulterior sau pentru a specifica instrucțiuni privind nivelul de compresie, locația de stocare sau modul de gestionare a fișierului original, comenzile vor necesita specificații adecvate. Tabelul următor oferă o prezentare generală a celor mai importante gzip comenzi:

Opțiune Descriere
-1-9 Setează nivelul de compresie (1–9), unde 1 oferă cel mai rapid și cel mai puțin comprimat rezultat, iar 9 oferă cea mai bună, dar și cea mai lentă compresie; nivelul implicit este 5
-r Scanează recursiv directorul (inclusiv toate subdirectoarele) și comprimă sau decomprimă toate fișierele conținute
-f Forțează compresia gzip și suprascrie fișierele existente cu același nume, dacă este necesar.
-d Decomprimă fișierul selectat în directorul curent
-k Împiedică ștergerea fișierului original.
-l Afișează informații precum rata de compresie a unui fișier comprimat.
-c Afișează fișierul comprimat pe ieșirea standard (de obicei ecranul conectat la linia de comandă)
-q Suprimă toate mesajele gzip.
-t Testează integritatea fișierului comprimat.
-h Listează toate opțiunile disponibile

Cazuri de utilizare pentru compresia gzip

Astăzi, gzip este aproape independent de platformă și poate fi extins după cum este necesar, atâta timp cât proiectul ales respectă licența GPL. Pe sistemele Linux, instrumentul de compresie este de obicei preinstalat sau disponibil prin intermediul managerului de pachete. Site-ul oficial gzip oferă, de asemenea, versiuni pentru macOS și Windows. Puteți utiliza software-ul pe aceste sisteme în orice moment pentru a economisi spațiu de stocare.

Un alt domeniu cheie de aplicare este web-ul. Serverele web precum Apache acceptă compresia gzip de ani de zile, iar browserele moderne sunt capabile să interpreteze fișierele comprimate și să le decomprime în timpul redării site-ului web. Aici gzip poate străluci pe deplin, deoarece, atunci când este activat, serverul web comprimă automat atât conținutul încărcat, cât și elementele site-ului web generate dinamic pe server. Acest lucru poate reduce semnificativ timpul de încărcare a site-ului web, ca parte a optimizării de bază a site-ului web. Între timp, browserul se ocupă de decompresie în fundal, fără a consuma lățime de bandă suplimentară. Această creștere a performanței este benefică în special pentru utilizatorii de dispozitive mobile și poate îmbunătăți indirect clasamentul site-ului dvs. web în motorul de căutare.

Cum să utilizați compresia gzip pentru proiectul dvs. web Apache

Serverele web oferă de obicei compresia gzip ca un modul care trebuie pur și simplu activat. În prezent, mulți furnizori de servicii de găzduire web activează această funcție în mod implicit, în timp ce în trecut nu era întotdeauna așa. Dacă nu sunteți sigur dacă compresia gzip este acceptată de furnizorul dvs. de servicii de găzduire, puteți să îl contactați direct sau să efectuați o verificare manuală.

Pe un server web Apache, puteți verifica setările modulului folosind o ieșire simplă phpinfo(). Intrarea HTTP_ACCEPT_ENCODING vă va arăta ce metodă de compresie este selectată — sau dacă este activată vreo compresie. Dacă gzip este disponibil, aveți trei opțiuni diferite pentru a utiliza acest instrument de compresie în funcție de nevoile dvs.

Opțiunea 1: Activați compresia gzip în fișierul .htaccess

Folosind fișierul .htaccess, puteți defini setări specifice directorului și configura serverul web în timp real. Acest lucru funcționează deoarece fișierul de configurare, situat de obicei în directorul rădăcină, este citit automat la fiecare solicitare care ajunge la server. Cu toate acestea, în cazul unor furnizori de servicii de găzduire web, fișierul .htaccess poate fi situat într-un folder diferit, ascuns sau chiar restricționat la acces. În acest caz, singura opțiune este să contactați furnizorul de servicii de găzduire și să solicitați accesul. Dacă puteți efectua modificări, puteți activa compresia gzip utilizând modulul pentru algoritmul Deflate (mod_deflate) prin adăugarea următorului cod în fișierul .htaccess:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
txt
Sfat

De asemenea, veți avea nevoie de permisiunea gazdei dvs. web pentru a utiliza modulele mod_gzip și mod_deflate.

Opțiunea 2: Activați compresia gzip prin PHP

Este posibil să activați compresia gzip folosind o simplă instrucțiune PHP. Dezavantajul este că codul trebuie adăugat individual la fiecare fișier PHP. Prin urmare, ar trebui să utilizați această opțiune numai dacă nu aveți permisiunile necesare pentru a edita fișierul .htaccess. Linia de cod care trebuie plasată la începutul fiecărui fișier este următoarea:

<?php
ob_start("ob_gzhandler");
?>
php

Opțiunea 3: Implementarea gzip prin plugin

Pe lângă aceste două soluții manuale, există și o variantă care necesită un efort minim de configurare: activarea compresiei gzip folosind un plugin pentru sistemul de gestionare a conținutului pe care îl utilizați. Astfel de extensii utile, pe care le puteți integra în câteva minute și le puteți adapta la nevoile dvs., sunt destinate în principal sistemelor CMS precum WordPress, care sunt bazate pe PHP. Lista următoare conține trei dintre cele mai populare pluginuri pentru software-ul de bloguri:

  • W3 Total Cache: pluginul WordPress W3 Total Cache promite o îmbunătățire semnificativă a performanței site-ului web. Pe lângă diverse mecanisme de cache și suport dedicat pentru dispozitive mobile, această suită SEO și de utilizare include și opțiuni pentru activarea compresiei gzip.
  • WP Rocket: WP Rocket este un alt plugin clasic de cache pentru WordPress. Este ușor de utilizat și activează toate funcțiile cheie de optimizare a performanței, inclusiv compresia gzip, încă de la început.
  • WP Performance Score Booster: Pluginul WP Performance Score Booster a depășit deja 10.000 de instalări active. Cu acest plugin, puteți activa cu ușurință gzip și comprima eficient conținutul proiectului dvs. web, inclusiv text, HTML, JavaScript, CSS, XML și multe altele.

Cum se configurează gzip pe un server web NGINX pas cu pas

Dacă furnizați conținutul site-ului web utilizând un server web NGINX, puteți profita și de compresia gzip pentru a îmbunătăți timpul de încărcare al proiectului. Pentru a face acest lucru, trebuie doar să configurați ngx_http_gzip_module. În mod implicit, directiva gzip, care activează sau dezactivează serviciul de compresie, este dezactivată.

Pentru a modifica această setare, deschideți fișierul principal de configurare nginx.conf și localizați directiva gzip. Înlocuiți gzip off cu gzip on. Tabelul următor explică scopul și opțiunile unor directive suplimentare utilizate pentru configurarea compresiei gzip în NGINX:

Directivă Sintaxă Setare implicită Descriere
gzip_buffers gzip_buffers number size; gzip_buffers 32 4k \ 16 8k; Definește numărul și dimensiunea bufferelor utilizate în timpul procesului de compresie
gzip_comp_level gzip_comp_level level; gzip_comp_level 1; Setează nivelul de compresie; valori valide: 1–9
gzip_min_length gzip_min_length length; gzip_min_length 20; Specifică lungimea minimă (în octeți) pentru un fișier care urmează să fie comprimat.
gzip_http_version gzip_http_version version; gzip_http_version 1.1; Specifică versiunea minimă HTTP necesară pentru răspunsurile comprimate.
gzip_types gzip_types content-type; gzip_types text/html; Determină tipurile de conținut care trebuie comprimate (de exemplu, CSS, JSON, XML)

Cum se testează compresia gzip

După ce ați configurat compresia gzip pentru site-ul dvs., puteți utiliza diverse instrumente pentru a verifica dacă funcționează corect și dacă serverul dvs. web furnizează conținut comprimat ca răspuns la solicitările clienților. Unul dintre cele mai recomandate instrumente pentru acest lucru este Google PageSpeed Insights. Pur și simplu introduceți orice pagină de pe site-ul dvs., iar instrumentul va analiza automat conținutul acesteia și va furniza un raport privind punctele forte și punctele slabe ale performanței paginii. Printre rezultate, veți găsi informații despre activarea compresiei gzip.

Alternativ, puteți efectua un test rapid gzip utilizând Testul de compresie HTTP de la WhatsMyIP.org.

Mergi la meniul principal