Gzip چیست و چگونه آن را فعال کنیم؟

09 آبان 1397
gzip

Gzip چیست؟

Gzip یک روش برای فشرده کردن فایل ها جهت بالا بردن سرعت انتقال در شبکه است. البته Gzip یک فرمت برای فایل ها نیز می باشد.

این فشرده سازی باعث می شود وب سایت شما با سرعت بسیار بالاتری بارگذاری شود و حجم فایل های انتقال داده شده پایین بیاید. فعال سازی Gzip تقریبا یک باید است و در دنیای امروز اگر چنین کاری نکنید، وب سایت شما نسبت به بقیه ی وب سایت ها دیرتر بارگذاری می شود.

چطور فشرده سازی Gzip را فعال کنیم؟

اول از همه باید بدانید فعال کردن این فشرده سازی در سمت سرور صورت می گیرد. بنابراین شما به عنوان کاربر نمی توانید این ویژگی را برای وب سایت دلخواهتان فعال کنید. دوماً وب سرور های مختلف تنظیمات مختلفی دارند که ما روش فعال سازی Gzip را برای وب سرور های زیر توضیح خواهیم داد:

  • Apache
  • Nginx
  • Litespeed

پیش گفتار: درک نحوه ی ساز و کار فایل های فشرده بین سرور و مرورگر

Gzip چگونه کار می کند؟

با فعال بودن فشرده سازی Gzip، سرور قبل از ارسال منابع وب سایت (فایل های HTML و CSS و ...) آن ها را فشرده می کند و سپس ارسال می کند. حالا مرورگر فایل های فشرده را گرفته و آن ها را باز می کند. به این صورت در پهنای باند، زمان و هزینه صرفه جویی زیادی می شود.

روش اول: فعال سازی با استفاده از htaccess.

برای اکثر سرور ها، فعال سازی Gzip از طریق اضافه کردن چند خط کد به فایل htaccess. انجام می شود...

فایل htaccess. چیست؟

قبل از توضیح بیشتر، مختصری درباره ی فایل htaccess. برایتان ارائه می دهیم. به گفته ی وب سایت htaccess-guide.com :

.htaccess is a configuration file for use on web servers running the Apache Web Server software. When a .htaccess file is placed in a directory which is in turn 'loaded via the Apache Web Server', then the .htaccess file is detected and executed by the Apache Web Server software. These .htaccess files can be used to alter the configuration of the Apache Web Server software to enable/disable additional functionality and features that the Apache Web Server software has to offer. These facilities include basic redirect functionality, for instance if a 404 file not found error occurs, or for more advanced functions such as content password protection or image hot link prevention.

این نام htaccess. مخفف “hypertext access” یا دسترسی فرامتنی است.

این فایل، فایل کوچک اما بسیار مهمی است که وظیفه ی آن اعمال تنظیمات بسیاری روی سرور شما است؛ بنابر ادعای وب سایت مذکور این فایل مخصوص وب سرور آپاچی است اما امروزه بسیاری از وب سرور های دیگر نیز از این فایل پشتیبانی می کنند.

از جمله ی تنظیمات و قابلیت های این فایل می توان به redirect ها (به طور مثال انتقال کاربر از پروتکل HTTP به HTTPS به صورت خودکار)، فعال کردنِ فشرده سازی ها، rewriting URL ها، کش کردن محتوا (caching) و غیره نام برد.

توجه: در عین حال باید به خاطر داشت که این فایل بسیار حساس است و هر گونه تغییر اشتباه در آن نتایج خطرناکی در پی دارد (به طور مثال ممکن است وب سایت شما اصلا نمایش داده نشود) به همین دلیل پیشنهاد اکید ما قبل از اعمال هر گونه تغییر روی این فایل، گرفتن بکاپ از آن است. شما می توانید این بکاپ را در جایی مطمئن کپی و نگه داری کنید تا در صورت بروز اشتباهات مختلف به نسخه ی اصلی htaccess. و دست نخورده ی سایت خود دسترسی داشته باشید.

بسیاری از وب سرور ها مثل آپاچی و لایت اسپید و غیره از این فایل پشتیبانی می کنند بنابراین به احتمال بسیار زیاد روش مورد نظر شما همین است. ممکن است دلیل وجود این فایل برای شما ایجاد سوال کرده باشد.

به طور خلاصه می توان گفت زمانی که شما از یک دیتاسنتر خدمات میزبانی (Hosting) دریافت می کنید (به زبان ساده برای وب سایت خود سرور میزبانی خریداری می کنید) شرکت مذکور به دلایل امنیتی به شما اجازه ی دسترسی به صد در صد تنظیمات سرور را نمی دهد اما در عین حال بسیاری از وب مستر ها و برنامه نویسان به این تنظیمات احتیاج دارند تا وب سایت را مطابق با برنامه های خودشان تغییر دهند. به همین دلیل اگر تنظیمی در پنل کاربری شما (مثلا سی پنل) یافت نشود می توانید آن را با فایل htaccess. تغییر دهید.

محل این فایل در کجا است؟

این فایل در مسیر اصلی سرور شما قرار دارد بنابراین باید به دنبال پوشه ای به نام root یا www یا public_html و ... باشید.

در بیشتر سرور ها این فایل hidden و مخفی است بنابراین گزینه ی see hidden files را در محیط سرور خود روشن کنید.

اگر به خوبی همه جا را گشتید اما این فایل را پیدا نکردید با شرکت ارائه دهنده ی میزبانی خود تماس بگیرید و برایشان تیکت پشتیبانی ارسال کنید.

اما برمیگردیم به مبحث اصلی. فعال سازی Gzip در اکثر سرور ها تنها با افزودن کد زیر به فایل htaccess. امکان پذیر است:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

بعد از کپی کردن کد بالا در فایل htaccess. آن را ذخیره کنید و سپس وب سایت خود را رفرش کنید.

حالا می توانید در وب سایت checkgzipcompression.com چک کنید و ببینید آیا Gzip روی وب سایت شما فعال است یا خیر:

به طور مثال تصویر زیر برای وب سایت روکسو به نمایش در می آید که نشان میدهد Gzip روی وب سایت ما فعال است:

Roxo Academy Gzip

همانطور که می بینید ما توانسته ایم 86 درصد از حجم اولیه ی وب سایت خود را بدون هیچ زحمتی کاهش دهیم! و به جای 116 کیلوبایت آن را به 14 کیلوبایت برسانیم!

نکته مهم: قبل از دستکاری فایل htaccess. حتما چک کنید که Gzip روی وب سایت شما فعال باشد. از آنجایی که این فشرده سازی به صورت پیش فرض روی اکثر سرور ها فعال است نیازی به دستکاری فایل htaccess. نیست. تنها زمانی اقدام به تغییر این فایل کنید که مطمئن هستید Gzip روی وب سایت شما فعال نیست.

روش دوم: فعال سازی برای وب سرور های Apache

روش اول روی وب سرور های آپاچی کار می کند اما اگر به هر دلیل این نتیجه حاصل نشد می توانید از این روش که مخصوص وب سرور های آپاچی است استفاده کنید. ابتدا کد های روش قبل را از فایل htaccess. پاک کنید و سپس کد زیر را اضافه کنید:

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

روش دوم: فعال سازی برای وب سرور های NGINX

کد زیر را به فایل htaccess. اضافه کنید:

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";

# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

روش سوم: فعال سازی برای وب سرور های Litespeed

برای وب سرور های Litespeed بهترین روش، فعال کردن گزینه ی "enable compression" در قسمت "tuning" در قسمت تنظیمات وب سرور است. اگر گزینه ی "enable compression" فعال نبود، با انتخاب گزینه ی edit آن را فعال کنید.

فعال سازی Gzip تا چه حد موثر است؟

این فعال سازی تا حدود 50 درصد و بیشتر از حجم فایل های HTML و CSS شما را کم می کند بنابراین نه تنها وب سایت سریع تری خواهید داشت بلکه سرور های شما پهنای باند کمتری نیز مصرف می کنند.

سرعت بارگذاری وب سایت در سئوی گوگل (مخصوصا سئوی موبایل) بسیار تاثیر دارد و فعال بودن Gzip (چه به صورت مستقیم و به چه به صورت غیر مستقیم) امتیاز بزرگی برای شما محسوب می شود.

کلام آخر

اگر چه این ویژگی در اکثر وب سرور های امروزی فعال است اما پیشنهاد اکید ما به شما این است که از این زمینه غافل نمانید و به خاطر سهل انگاری برای خود و کاربرانتان هزینه تراشی نکنید. همیشه قبل از اعلام شروع به کار رسمی سایت خود، از فعال بودن Gzip اطمینان حاصل کنید.

نویسنده شوید
دیدگاه‌های شما (1 دیدگاه)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

محمد موسوی
24 اردیبهشت 1401
ممنون از مطلب خوبتون لینک سایت gzip با دامنه .net هست و اینجا اشتباها .com نوشته شده.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

روکسو
24 اردیبهشت 1401
سپاس از نظرتون

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.