Erratic, جان، شما gzip را درست تعریف کردید اما رول هایی که برای استفاده از اون گذاشتید ارتباطی با gzip ندارد !
این رول ها مربوط به کش سمت کلاینت هستند که دوره اعتبار فایل ها را به نسبت پسوندها به مرورگر کلاینت معرفی می کند. مثلا:
Please Login or Register to see this codeمی گوید که پسوند jpg دریافتی زیر سایه این فایل htaccess را مرورگر کاربر میتواند برای مدت 1 ماه کش کند و سپس مجدد درخواست نسخه جدید از سرور بدهد. نتیجه آن هم این است که در دفعات بعدی لود این فایل دیگر فایل از سرور منتقل نشده و از کش مرورگر کاربر خوانده خواهد شد.
از بحث اصلی خارج نشویم، جهت فعال سازی gzip، همانطور که
گفتند بایدن نخست این قابلیت روی سرور (یا بهتر است گفت وب سرور ما) نصب بوده باشد که اکثر هاستینگ های اشتراکی این قابلیت را فعال کرده اند. اکثر وب سرورها ابزارهای خوبی برای اینکار دارند و تقریبا تمامی مرورگر ها هم پشتیبانی کامل ازش می کنند.
در آپاچی ما 2 تا متد فشرده سازی محتوا داریم:
mod_deflate که متد استاندارد و ساده تری هست استفاده ازش.
mod_gzip که متد پیشرفته تر هست و البته به مراتب نتیجه مطلوب تری هم ارائه می کند با مصرف منابع بیشتر در سمت سرور.
برای mod_gzip،رول های زیر را وارد htaccess کنید:
Please Login or Register to see this codeبرای mod_deflate هم رول های زیر را وارد کنید:
(امکان استفاده همزمان از هر دو مود برای یک گروه پسوند وجود ندارد)Please Login or Register to see this codeاگر کلا امکان ویرایش فایل htaccess را نداشته باشید میتونید با کد زیر در header فایل های php خود از فشرده سازی استفاده کنید:
Please Login or Register to see this codeبرای وب سرور
NGINX در فایل تنظیمات کلی یا سفارشی:
Please Login or Register to see this codeبرای وب سرور
litespeed در قسمت تنظیمات tuning و در اونجا تیک enable compression را باید زد.
برای وب سرور IIS نیز از بخش تنظیمات میتونید اعمالش کنید مطابق این دستور العمل:
[External Link Removed for Guests]در کل بیشترین تاثیر gzip روی فایل های css و html است که اگر به صورت آبشاری و minify نشده باشند این فایل ها تا 50% ممکن است کاهش حجم داشته باشد که موجب صرفه جویی در پهنای باند سمت سرور و کلاینت خواهد شد در کنار افزایش سرعت.
مدیران سرور دقت داشته باشند، هر چقدر فشرده سازی در پهنای باند سرور صرفه جویی میکند، به همان اندازه در لود سرور و مصرف CPU شما اثرات منفی دارد. بنابراین برای سایت های پر ترافیک توصیه میشود که به صورت دستی یا با کمک ماژول ها تا اونجا که میشه فایل ها را minify کرده و از سیستم های کش سمت سرور برای ذخیره نسخه فشرده شده استفاده کرد تا از compression on the fly توسط پردازنده پرهیز شود.