gzip compression چیست؟
gzip compression چیست و چه عملکردی دارد؟ Gzip یک فرمت فایل و برنامه نرم افزاری است که در سیستم های مشابه یونیکس برای فشرده سازی محتوای HTTP قبل از ارائه به مشتری استفاده می شود. این فرآیند یک پرونده را تا 80 درصد کوچک می کند، در نتیجه باعث بهبود زمان بارگذاری صفحه، کاهش پهنای باند و کاهش بار SSL می شود (به دلیل کاهش تعداد چرخهای دور در هنگام shake SSL).
انواع پسوندهای مرتبط با gzip compression چیست
.gz – پسوند فشرده شده توسط الگوریتم gzip را نشان می دهد.
پرونده tar، tarball – فرمت مورد استفاده برای ذخیره چندین فایل برای بایگانی است، اما برای فشرده سازی استفاده نمی شود. از Gzip می توان برای فشرده سازی پرونده های .tar استفاده کرد.
.tgz، .tar.gz، پرونده .gz – یک فایل .tar را نشان می دهد که توسط gzip فشرده شده است.
فعال کردن دستور Gzip
Gzip را می توان برای تعدادی از سیستم های مدیریت محتوا و سیستم عامل مختلف اعمال کرد، از جمله موارد زیر:
وردپرس
با استفاده از یک افزونه caching که از gzip پشتیبانی می کند یا با فعال کردن gzip در وب سرور خود از طریق فایل .htaccess می توانید gzip را در وردپرس فعال کنید.
آپاچی
برای فعال کردن gzip در وب سرور Apache، دستورات فشرده سازی gzip را در داخل ماژول mod_deflate در انتهای فایل .htaccess اضافه کنید.
مثال فعال سازی gzip :
<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>
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، گام بعدی این است که بررسی کنید فایل های خروجی شما را فشرده می کند یا خیر. این کار یا با استفاده از تعداد زیادی ابزار آنلاین می تواند انجام شود، یا با بررسی header پاسخ HTTP در یک مرورگر، به عنوان مثال، با اطمینان از اینکه در زبانه Network> Headers در گوگل کروم، Gzip در زیر سربرگ Content-Encoding نمایش داده می شود.
علاوه بر این، می توان با وارد کردن دستور زیر، سرصفحه های پاسخ HTTP را با استفاده از cURL بررسی کرد:
curl -H "Accept-Encoding: gzip" -I https://sitename.com
در پاسخ، gzip باید در عنوان محتوا کدگذاری شود:
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 ها معمولاً از تعدادی از تکنیک های بهینه سازی front-end پشتیبانی می کنند که می توانند همراه با gzip برای کوچک شدن بیشتر اندازه پرونده های خروجی استفاده شوند.
این موارد شامل کوچک کردن، یک فرآیند بهینه سازی است که در آن عناصری مانند فضاهای سفید و نام متغیرهای تکرار شده از کد یک فایل کوتاه می شوند، به طور بالقوه اندازه آن را قبل از فشرده سازی به نصف کاهش می دهد. بیشتر CDN ها به طور خودکار بسیاری از محتوای سایت را در حال پرواز از جمله تمام JavaScript، HTML و CSS کوچک می کنند.
اگرچه ممکن است کوچک سازی قبل از فشردن یک فایل بی فایده به نظر برسد، اما تجربه نشان داده شده است که اندازه tarfile را با 5-10٪ اضافی کاهش می دهد. از آنجا که CDN ها هم فشرده سازی و هم فشرده سازی gzip را انجام می دهند، حجم فایل های کدی را که به کاربران شما تحویل داده می شود به حداقل می رسانند و به طور قابل توجهی زمان بارگذاری صفحه را کاهش می دهند.
مطالب زیر را حتما بخوانید:
چنانچه دیدگاهی توهین آمیز باشد و متوجه اشخاص مدیر، نویسندگان و سایر کاربران باشد تایید نخواهد شد. چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد. چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد. چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد. چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.
نظرات کاربران