همه ما دوست داریم یک سایت سریع داشته باشیم که لود آن حداکثر سه ثانیه طول میکشد. طبق گفته گوگل، افزایش زمان بارگذاری صفحه از یک به سه ثانیه، نرخ پرش را تا 32 درصد افزایش میدهد. اگر نمیدانید Gzip چیست و هنوز آن را فعال نکردهاید احتمالاً بازدیدکنندگان زیادی را تا کنون از دست دادهاید که میتوانستند لیدهای ارزشمندی برای شما باشند.
در این مقاله از نژودا خواهید دانست که Gzip چیست و با این تکنیک فشرده سازی فایل ها که Gzip نام دارد آشنا می شوید و سرعت سایت خود را به شکل چشمگیری افزایش میدهید.
Gzip چیست؟
احتمالاً قبلاً فایلها را با «زیپ کردن» آنها فشرده کردهاید؛ با این حال هنوز هم بسیاری از افراد نمیدانند که Gzip چیست و چه فایدهای برای بهینه سازی سایت دارد. Gzip (GNU zip) یک الگوریتم رایگان و منبع باز برای فشرده سازی فایل است. این نرم افزار تحت نظارت پروژه GNU است.
اگر بخواهیم دقیقتر بگوییم که Gzip چیست میتوان گفت Gzip یک فرمت فایل و برنامه نرم افزاری است که در سیستمهای یونیکس و یونیکس مانند برای فشرده سازی محتوای HTTP قبل از ارائه به کاربر استفاده میشود. این فرایند یک فایل را تا 80 درصد کوچک میکند و در نتیجه زمان بارگذاری صفحه بهبود مییابد، مصرف پهنای باند کاهش مییابد و در نهایت سرعت سایت افزایش خواهد یافت.
به عبارت دیگر در این زمینه، فشرده سازی به معنای کاهش عمدی اندازه دادهها برای صرفه جویی در فضای ذخیره سازی یا افزایش سرعت انتقال داده است. Gzip اغلب برای فشرده سازی صفحات وب در انتهای سرور برای رفع فشرده سازی در مرورگر استفاده میشود.
ژان لوپ گیلی و مارک آدلر gzip را به عنوان جایگزینی برای فشرده سازی فرمتی که در نسخههای قبلی یونیکس و لینوکس استفاده میشد، توسعه دادند. در مقایسه، gzip فشرده سازی بهتری نسبت به فشرده سازهای قبلی ارائه میدهد و برخلاف فرمت قبلی، هیچ الگوریتم اختصاصی ندارد. Gzip همچنین میتواند با سایر سیستم عاملها از جمله Windows و MacIntosh OS استفاده شود.
پسوند فایل Gzip چیست؟ یک فایل gzip دارای پسوند .gz است و شامل یک هدر 10 بایتی، هدرهای اضافی اختیاری، یک چک سام (checksum) و دادههایی است که اندازه فایل فشرده نشده اصلی را نشان میدهد. چندین فایل را میتوان با هم ترکیب کرد و در یک آرشیو به نام فایل tar.gz یا tarball فشرده کرد.
انواع فایل های مرتبط با gzip چیست؟
.gz – پسوند فایل فشرده شده توسط الگوریتم gzip را نشان میدهد.
فایل tar، tarball – فرمتی که برای ذخیره چندین فایل برای بایگانی استفاده میشود، اما نه برای فشرده سازی. از Gzip میتوان برای فشرده سازی فایلهای .tar استفاده کرد.
فایل .tgz، .tar.gz، .gz – یک فایل tar را نشان میدهد که توسط gzip فشرده شده است.
فشرده سازی چگونه انجام میشود؟
وب سایت مجموعه ای از فایلهای مرتبط ذخیره شده در وب سرور است. هنگامی که یک URL را در مرورگر خود وارد میکنید، مرورگر شما یک درخواست (معمولاً یک درخواست HTTP GET) به وب سروری که محتوای مورد نظر شما را میزبانی میکند ارسال میکند. سرور درخواست شما را پردازش میکند، فایلهای مناسب را از پایگاه داده خود بازیابی میکند؛ از جمله HTML و CSS، جاوا اسکریپت و فایلهای مرتبط. سپس فایلها را به عنوان پاسخ HTTP به مرورگر شما میفرستد. در نهایت، مرورگر شما فایلها را به شکلی که به عنوان یک صفحه وب میبینید، رندر میکند.
هر انتقال داده به مقداری زمان نیاز دارد که تا حد زیادی به اندازه فایلهای منتقل شده بستگی دارد. هر چه دادههای بیشتری برای ارسال وجود داشته باشد، زمان بیشتری طول میکشد تا یک صفحه در مرورگر لود شود.
پس چگونه لود سایت را سریع نگه داریم؟
راه حل، همان طور که ممکن است حدس بزنید، این است که سرورهای وب فایلها را قبل از ارسال به مرورگرها فشرده کنند؛ آنها یک فایل متنی 100 صفحهای را به چیزی در حدود یک مقاله 30 صفحهای تبدیل میکنند! فایل های کوچکتر به معنای کار کمتری است که سرورها و مرورگرها برای انتقال آنها باید انجام دهند؛ بنابراین سرعت لود افزایش یافته و کاربر از کار کردن با سایت احساس رضایت خواهد داشت.
فشرده سازی با کدهایی مانند HTML به خوبی کار میکند زیرا سینتکس آن تکراری است. الگوریتمهای فشردهسازی معمولاً با یافتن اطلاعات مکرر در یک فایل و مخفف کردن آن کار میکنند. HTML بارها و بارها از تگهایی مانند <div> و <p> استفاده میکند و روشهای فشرده سازی برای حذف موقت این تکرارها و کوتاه کردن فایلها کار میکنند. GZIP یکی از این روشهای فشرده سازی است.
GZIP یک فناوری فشرده سازی است که اغلب برای انتقال سریع دادهها از طریق اینترنت استفاده میشود. GZIP استاندارد فعلی برای فشرده سازی فایل در وب است. تحقیقات W3Techs نشان میدهد که از بین وب سایتهایی که محتوای خود را فشرده میکنند، بیش از 99٪ از GZIP استفاده میکنند.
GZIP در سال 1992 معرفی شد و در ابتدا برای استفاده توسط GNU به عنوان یک جایگزین رایگان و منبع باز برای روشهای فشرده سازی اختصاصی در آن زمان در نظر گرفته شد. این دسترسی به فراگیر شدن GZIP کمک کرد.
توجه داشته باشید که فشرده سازی GZIP مشابه فشرده سازی ZIP نیست. ZIP یکی دیگر از فرمتهای فشردهسازی است که بیشتر برای ذخیره فایلها استفاده میشود تا انتقال آنها.
آموزش فعال سازی Gzip
حال که دریافتیم که Gzip چیست در ادامه به آموزش فعال سازی GZip میپردازیم. Gzip را میتوان بر روی پلتفرمهای مختلفی فعال کرد که در ادامه هر یک را توضیح میدهیم. برای این که انتقال فایل با GZIP کار کند، دو چیز باید اتفاق بیفتد. ابتدا مرورگر وب به سرور وب میگوید که میتواند فایلهای فشرده شده با GZIP را بپذیرد. این کار با گنجاندن هدر HTTP Accept-Encoding در ریکوئست مرورگر انجام میشود:
نحوه فعال سازی Gzip
اکثر مرورگرهای امروزی این هدر را به صورت پیش فرض در ریکوئست ها قرار میدهند.
دوم، وب سرور این هدر را پردازش میکند و تصمیم میگیرد فایلهای درخواستی را فشرده کند یا آنها را رها کند.
آموزش فعال سازی Gzip
اگر میخواهید فایلهای وب سایت شما به صورت فشرده ارسال شوند، باید سرور خود را فعال کنید تا ریکوئست های GZIP را انجام دهد. ممکن است وب سرور سایت شما بسته به پیکربندی سایت فشرده سازی GZIP را به طور پیش فرض فعال کرده باشد یا آن را نداشته باشد.
از آنجایی که فشرده سازی GZIP در وب سرور اتفاق میافتد، فرایند پیکربندی به ارائه دهنده هاست و معماری سرور شما بستگی دارد. اگر متوجه شدید که فشردهسازی GZIP روی سرور وب شما اجرا نمیشود، توصیه میکنیم قبل از استفاده از روشهای زیر، اسناد ارائهدهنده هاست خود را برای دستورالعملهای فعال سازی GZip بررسی کنید.
هاست شما ممکن است به شما اجازه تغییر فایلهای سرور را توصیه نکند یا حتی اجازه ندهد!
کسانی که وبسایتهایی روی سرورهای آپاچی دارند، میتوانند فشردهسازی GZIP را از طریق فایل htaccess که مجوزهای مختلف سرور را کنترل میکند، فعال کنند. کد زیر را به فایل htaccess خود اضافه کنید و سپس فایل را ذخیره کنید:
# BEGIN GZIP COMPRESSION <IfModulemod_gzip.c> mod_gzip_onYes mod_gzip_dechunkYes mod_gzip_item_includefile.(html?|txt|css|js|php|pl)$ mod_gzip_item_includehandler^cgi-script$ mod_gzip_item_includemime^text/.* mod_gzip_item_includemime^application/x-javascript.* mod_gzip_item_excludemime^image/.* mod_gzip_item_excluderspheader^Content-Encoding:.*gzip.* </IfModule> # END GZIP COMPRESSION
فعال سازی Gzip
با این کار تمام فایلهای HTML، CSS، جاوا اسکریپت، XML و فونت فشرده میشود. پس از ذخیره، فشرده سازی خود را بررسی کنید.
نحوه فعال سازی GZip در وب سرور NGINX
نرم افزار سرور NGINX فقط فایلهای HTML را به صورت پیش فرض فشرده میکند. اگر سرور شما از NGINX استفاده میکند، میتوانید با باز کردن فایل nginx.conf و یافتن خط زیر، فشرده سازی GZIP را در فایلهای سایت خود فعال کنید:
gzipon; gzip_comp_level2; gzip_http_version1.0; gzip_proxied any; gzip_min_length1100; gzip_buffers168k; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable"MSIE [1-6].(?!.*SV1)"; gzip_varyon;
سپس، فایل را ذخیره کنید و پیکربندی NGINX خود را قبل از آزمایش فشرده سازی مجدد بارگیری کنید.
gzip_types انواع فایلهای فشرده شده را مشخص میکند. شما میتوانید موارد را به دلخواه به این خط اضافه یا از آن حذف کنید.
gzip_min_length حداقل طولی است که پاسخ باید فشرده شود. در اینجا، روی 1000 بایت (یک کیلوبایت) تنظیم شده است، اما در صورت تمایل میتوان آن را تغییر داد.
نحوه فعال کردن فشرده سازی GZIP در وردپرس
وردپرس یک نرم افزار CMS است، نه یک پیکربندی سرور. با این حال، اگر یک وب سایت وردپرسی را اجرا میکنید، میتوانید یکی از افزونه های کاربردی وردپرس نصب کنید که فایلهای سرور را برای شما تغییر میدهد. این کار با مجموعه های بهینه سازی عملکرد مانند WP Super Cache، WP Rocket یا PageSpeed Ninja امکانپذیر است.
همچنین Enable Gzip Compression نیز وجود دارد که دقیقاً همان کاری را که از نام آن در سرورهای آپاچی پیداست انجام میدهد.
باز هم فقط به این دلیل که میتوانید یک افزونه را نصب و استفاده کنید، به این معنی نیست که شما اجازه تغییر پیکربندی سرور خود را دارید.
حرف آخر
به یاد داشته باشید که هدف از همه این مباحث فنی این است که در سریعترین زمان ممکن سایت شما لود شود و بهترین تجربه کاربری را به بازدیدکنندگان خود ارائه دهید.
به کمک فشرده سازی GZip میتوانید لود سایت را سریعتر کرده و جلوی از دست رفتن مخاطبان به دلیل کندی سایت را بگیرید؛ این مورد همچنین سئوی سایت شما را تحت تأثیر قرار داده و بازدیدکنندگان بیشتری به مشتریان شما تبدیل خواهند شد.
سرعت سایت تا حد زیادی بر موفقیت آنلاین شما تأثیر میگذارد، بنابراین وقتی برای تلف کردن وجود ندارد!
سوالات متداول شما
Gzip چیست؟
Gzip (GNU zip) یک الگوریتم رایگان و منبع باز برای فشرده سازی فایل است. Gzip یک فرمت فایل و برنامه نرم افزاری است که برای فشرده سازی محتوای HTTP قبل از ارائه به کاربر استفاده میشود. این فرایند یک فایل را تا 80 درصد کوچک میکند و در نتیجه زمان بارگذاری صفحه بهبود مییابد.
چرا فعال سازی Gzip اهمیت زیادی دارد؟
افزایش زمان بارگذاری صفحه از یک به سه ثانیه، نرخ پرش را تا 32 درصد افزایش میدهد. با فعال سازی جی زیپ زمان بارگذاری صفحه بهبود مییابد، مصرف پهنای باند کاهش مییابد و در نهایت سرعت سایت افزایش خواهد یافت؛ به این ترتیب نه تنها به سئوی سایت کمک میکند، بلکه به مصرف بهینهتر منابع سایت نیز کمک خواهد کرد.