"Google"un araşdırmasına görə, veb səhifənin yüklənməsinə sərf edilən vaxt 1-dən 3 saniyəyə kimi artdıqda həmin səhifədən imtina halları 32% artır.
Bundan başqa, sürətli yüklənən veb saytların axtarış nəticələrində daha üst sıralarda yerləşmə ehtimalı daha böyükdür.
Veb saytların sürətini artırmaq üçün müxtəlif üsullar mövcuddur. Belə üsullardan biri gzip proqramından istifadəni nəzərdə tutur.
İstifadəçi hansısa veb sayta daxil olmaq üçün öz qurğusunda brauzeri açır, ünvan yerində saytın adını yazıb Enter düyməsinə sıxır. Bu zaman veb serverə sorğu göndərilir, çünki veb saytın faylları veb serverdə yerləşir. İstifadəçi ilə veb server arasında "danışıq" HTTP protokolu üzərindən həyata keçirilir. Danışıq dedikdə sorğu və cavab nəzərdə tutulur. İstifadəçi, yaxud kliyent veb serverə sorğu göndərir, sonuncu isə öz növbəsində lazımi faylları tapıb brauzerə cavab göndərir:
Yuxarıdakı şəkildə tipik kliyent-server "danışığı" əks olunub. Veb serverdən kliyentin qurğusuna göndərilən məlumatlar sıxılmayıb.
Gzip proqram təminatı veb serverdən kliyentin qurğusuna göndərilən məlumatları sıxmağa imkan verir. Brauzer sıxılmış məlumat şəklində göndərilmiş cavabı qəbul edərkən onu açır və istifadəçiyə göstərir:
Yuxarıdakı şəkildən göründüyü kimi veb serverdən brauzerə ötürülən faylın real ölçüsü 2 MB-dır. Gzip utiliti faylı brauzerə göndərməzdən əvvəl onu sıxır və nəticədə brauzerə 2 MB deyil, 600 KB ölçüsündə məlumat göndərilir.
HTML, CSS, JavaScript kimi mətn formatlarının sıxılması onların ölçüsüsü 70-80% azalda bilər.
Gzip proqramı öz işində Deflate alqoritmindən istifadə edir.
GZIP sıxmanı brauzerin köməyilə yoxlamaq
Bütün müasir brauzerlər gzip texnologiyasını dəstəkləyirlər. Brauzer Accept-Encoding: gzip
HTTP sorğu başlığı vasitəsilə bu barədə veb serverə məlumat verir. Proqramçı aləti HTTP sorğu və cavab başlıqlarını ətraflı incələməyə imkan verir. F12 klavişini sıxaraq həmin aləti açmaq mümkündür:
Yuxarıdakı şəkildə Accept-Encoding: gzip, deflate, br, zstd
HTTP sorğu başlığı veb serverə "deyir" ki, mən gzip sıxmanı dəstəkləyirəm.
Accept-Encoding: gzip
HTTP başlığını qəbul edən veb server məlumatları brauzerə sıxılmış şəkildə göndərir. Həmçinin brauzerə Content-Encoding: gzip
HTTP cavab başlığı göndərilir:
Əgər veb serverdə gzip sıxma aktiv edilməyibsə, onda məlumatlar olduğu kimi, yəni sıxılmamış şəkildə brauzerə göndərilir.
Gzip sıxmanın onlayn yoxlanılması
HTTP Compression xidməti veb saytda gzip sıxmanın aktiv edilməsini, həmçinin veb səhifənin real və sıxılmış ölçüsünü göstərir:
Yuxarıdakı şəkildən göründüyü kimi https://ekurs.dev veb saytının real ölçüsü 29,7 KB, sıxılmış ölçüsü isə 6,5 KB-dır. Başa düşüldüyü kimi, gzip sıxma həm veb trafikin həcminin azalmasına, həm veb səhifənin sürətinin artmasına, həm də veb serverə düşən yükün azalmasına imkan verir.
Gzip proqram təminatının veb serverdə aktiv edilməsi
Hazırda bir çox hostinq provayderlərində gzip sıxma texnologiyasını asanlıqla aktivləşdirmək imkanı əlçatandır. Mən Estoniyanın "FASTVPS" şirkətinin VPS server həllindən istifadə edirəm. Onlar tərəfindən veb serveri idarə etmək üçün hazırlanmış "FastPanel" adlı proqram təminatında gzip sıxmanı aktivləşdirmək olduqca asandır:
Əgər sizin veb serverdə belə imkan əlçatan deyilsə, onda NGINX və Apache veb serverləri üçün aşağıdakı köməkdən istifadə edə bilərsiniz.
Gzip sıxma texnologiyasının NGINX veb serverində aktiv edilməsi
NGINX veb serverində müxtəlif mətn formatlarının sıxılmasını aktivləşdirmək üçün nginx.conf
faylına aşağıdakı sətirləri yazmaq lazımdır:
server {
...
gzip on;
gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
gzip_comp_level 5;
}
Bundan sonra faylı yadda saxlayıb veb serveri yenidən yükləyin.
- gzip on - gzip sıxmanı aktivləşdirir;
- gzip_types - sıxılmalı olan fayl formatlarını müəyyənləşdirməyə imkan verir;
- gzip_comp_level - məlumatların sıxılma səviyyəsini təyin etməyə imkan verir. 1-dən 10-dək sıxma səviyyəsi dəstəklənir. Prosessoru həddindən çox yükləməmək üçün bu göstəricinin qiymətini 5 təyin etmək tövsiyə edilir.
Gzip sıxma texnologiyasının Apache veb serverində aktiv edilməsi
Veb saytın əsas qovluğunda yerləşdirilən .htaccess
faylına aşağıdakı sətirləri yazıb yadda saxlamaq lazımdır:
<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>
Əgər .htaccess
faylına edilmiş dəyişiklikdən sonra brauzerə göndərilən məlumatların sıxılması aktiv deyilsə, onda hostinq provayderinin dəstək xidmətinə yazın.