מהי דחיסת Gzip - באתרי אינטרנט
חיפוש

מהי דחיסת Gzip – באתרי אינטרנט

Gzip הוא פורמט קובץ ויישום תוכנה המשמשים במערכות Unix לדחיסת תוכן HTTP לפני שהוא מוגש ללקוח. ידוע כי התהליך מכווץ קובץ בשיעור של עד 80 אחוזים, מה שגורם לשיפור זמן טעינת הדף , וירידה בצריכת רוחב הפס.

סוגי הקבצים המשויכים ל- gzip כוללים:

  • .gz – מציין סיומת קובץ שנדחסה על ידי אלגוריתם gzip.
  • קובץ .tar, tarball – פורמט המשמש לאחסון קבצים מרובים לארכיון, אך לא לדחיסה. ניתן להשתמש ב-Gzip לדחיסת קבצי .tar.
  • .tgz, .tar.gz, .gz file – מציין קובץ .tar שנדחס על ידי gzip.

הפעלת הפקודה Gzip

ניתן להחיל את Gzip במספר פלטפורמות שונות, כולל אלה המפורטות להלן:

וורדפרס

אתה יכול להפעיל gzip ב-WordPress באמצעות תוסף מטמון שתומך ב-gzip, או על ידי הפעלת gzip בשרת האינטרנט שלך באמצעות קובץ .htaccess.

הפעלת GZIP בשרת Apache אפאצ'י

כדי לאפשר gzip בשרת אינטרנט של Apache, הוסף את פקודות הדחיסה של gzip בתוך mod_deflate המודול בסוף קובץ .htaccess.

לדוגמה:

<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml 
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font 
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE font/opentype 
AddOutputFilterByType DEFLATE font/otf 
AddOutputFilterByType DEFLATE font/ttf 
AddOutputFilterByType DEFLATE image/svg+xml 
AddOutputFilterByType DEFLATE image/x-icon 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/javascript 
AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/xml 
</IfModule>

הפעלת GZIP בשרת NGINX

כדי לאפשר gzip ב- NGINX, יש להוסיף את הקוד הבא לקובץ nginx.conf:

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_vary on;
gzip_types text/plain text/css text/javascript image/svg+xml image/x-icon application/javascript application/x-javascript;

אימות הפעלת Gzip

לאחר הפעלת gzip, השלב הבא הוא לוודא שהוא דוחס את הקבצים היוצאים מהאתר שלך. הדבר נעשה על ידי בדיקת בקשות HTTP בדפדפן, למשל, על ידי כניסה ל-Network לטאב Headers, משם צריך להגיע לכותרת Content-Encoding.

אימות הפעלת Gzip

בתגובה, gzip צריך להיות מופיע ב-Headers בביטוי Content-Encoding:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 21 Jul 2014 01:12:36 GMT
Content-Type: text/html; charset=UTF-8…
Vary: Accept-Encoding
Content-Encoding: gzip

שימוש ב- Gzip בשילוב עם CDN

כמעט כל רשתות העברת התוכן (CDN) מספקות דחיסת קבצים אוטומטית עם gzip. זה מקל מהצורך לוודא שאכן מתקיימת דחיסה.

בנוסף, רשת CDN תומכים בדרך כלל במספר טכניקות אופטימיזציה במהירות האתר שניתן להשתמש בהן יחד עם gzip כדי לצמצם עוד יותר את גודל הקובץ היוצא.

אלה כוללים מינימיזציה, תהליך אופטימיזציה שבו רכיבים כגון רווחים לבנים ושמות משתנים שחוזרים נחתכים מקוד קובץ המקור, דבר שעלול להקטין את גודל הקובץ בחצי לפני הדחיסה. רוב רשתות CDN מבצעות בצורה אוטומטית דחיסה minify, כולל קבצי JavaScript, HTML ו- CSS.

למרות שהדחיסה minify עשויה להיראות מיותרת, הוכח כי היא מצמצמת את גודל קובץ הזבל ב-5-10% נוספים. מכיוון ש- CDN מבצעים minify ודחיסת gzip כאחד, הם ממזערים את גודל קובצי הקוד המועברים למשתמשים שלך, ומצמצמים משמעותית את זמן טעינת הדף.

אביחי אהרוני
אביחי אהרוני
עוסק בבניית אתרים וקידום אתרים, באופן מקצועי משנת 2019. היום בעיקר עוסק בשיפור מהירויות אתרי אינטרנט. נָשׂוּי + 3 וגר בפרדס חנה כרכור.

יש כאן עוד מאמרים מעניינים 🙂

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *