gzip ابزاری برای فشردهسازی فایلهاست. فشردهسازی فایلها سبب میشود تا مدت زمان لازم برای انتقال یک فایل از سرور به مرورگر کاربر، کاهش یابد.
صفحات وب مجموعهای از فایلهای JavaScript (JS)، CSS، HTML و... هستند. هرچه قالب وبسایت پیچیدهتر باشد، دارای فایلهای کد بزرگتر است که این سایز بزرگتر فایلها سبب کاهش سرعت بارگذاری این صفحات روی مرورگر کاربر میشود. فشردهسازی فایلها این امکان را فراهم میآورد تا مدت زمان لازم برای بارگذاری صفحات و از سوی دیگر پهنای باند مورد نیاز برای این بارگذاری، کاهش پیدا کند.
امروزه بیشتر مرورگرها و وبسرورها برای فشردهسازی فایلها از gzip پشتیبانی میکنند. این ابزار میتواند بهشکل میانگین حجم فایلها را در حدود 70درصد کاهش دهد.
gzip ابزاری است که ابر آروان بهمنظور فشردهسازی محتوای HTTP پیش از ارسال به سیستم کاربر، استفاده میکند.
gzip با جستوجوی رشتههای (Stringها) تکراری در فایلها و جایگزینی آنها با اشارهگری که به String نخست اشاره دارد، سبب میشود تا حجم متنهای موجود در یک فایل بهشکل درخور توجهی کاهش یابد. این کاهش حجم به این منظور است که معمولن حجم بالایی از فایلها را، فضاهای خالی و متنهای تکراری تشکیل میدهند.
کاهش حجم فایلها بهکمک gzip افزونبر افزایش سرعت و نیاز به پهنای باند کم برای بارگذاری صفحات، سبب کاهش سربار SSL نیز میشود، چراکه با این روش، تعداد رفت و برگشتهای اطلاعات در طول فرآیند SSL Handshake کاهش پیدا میکند.
در ارتباطات میان سرور و مرورگر کاربر، عملکرد gzip به این شکل است که:
در موقعیتی که مرورگر از gzip پشتیبانی نمیکند (نسخههای قدیمی مرورگرها)، Web Server باید نسخهای غیرفشرده از فایلها را برای مرورگر بفرستد.
بیشتر CDNها با فراهم آوردن امکان فشردهسازی خودکار فایلها بهکمک gzip، این مسوولیت را از دوش مدیران وبسایتها حذف میکنند. CDNها با بهرهگیری از ابزارها و تکنیکهای Front end optimization (FE) که gzip نیز یکی از آنهاست سعی میکنند تا سایز فایلها را هرچه بیشتر کاهش دهند. یکی دیگر از این ابزارها که مکمل gzip باشد و استفاده از آن به همراه gzip میتواند حجم فایل خروجی را بهشکل درخور توجهی کاهش دهد، Minification است.
Minification با حذف فضاهای خالی، توضیحات، line breakها و... در فایلهای JS، HTML و CSS سبب کاهش سایز این فایلها بهطور میانگین، به نصف سایز فایل اصلی میشود. سپس این فایلها بهکمک gzip فشرده میشود و به این ترتیب حجم فایلهای ارسالی از سمت سرورهای CDN به مرورگر کاربر به کمترین میزان ممکن میرسد. در نتیجه، سرعت بارگذاری صفحات وب روی مرورگر کاربر بهشکل چشمگیری افزایش مییابد.