فشرده سازی Gzip چیست؟

فشرده سازی Gzip چیست؟

امید صادقی ادمین
مدت زمان مطالعه: 15 دقیقه 22 اسفند 01

شاید دو ثانیه زمان زیادی به نظر نرسد. با این حال، وقتی نوبت به وب‌سایت شما می ‌رسد، اتفاقات زیادی در این مدت کوتاه می‌تواند رخ دهد.

به گفته گوگل، افزایش زمان بارگذاری صفحه از یک ثانیه به سه ثانیه، نرخ پرش را تا 32 درصد افزایش می‌دهد. این بدان معنا است که بخش قابل توجهی از مخاطبان شما به دلیل کمی تأخیر به وب سایت های دیگر می‌روند.

بنابراین باید کاهش زمان بارگذاری وب سایت خود را در اولویت قرار دهید تا بتوانید در سریع ترین زمان ممکن خدمات لازم را به بازدید کنندگان، سرنخ‌ها و مشتریان ارائه دهید.

در این مقاله، یکی از فناوری های وب که اینترنت را سریع نگه می‌دارد، مورد بررسی قرار خواهیم داد: فشرده‌سازی و به ‌ویژه نوعی از فشرده ‌سازی به نام GZIP.

 

فشرده سازی چیست؟

به طور کلی، فشرده سازی فرآیند کاهش اندازه فایل است و با استفاده از یک الگوریتم فشرده سازی انجام می شود. روش فشرده‌سازی می‌تواند با اتلاف باشد؛ به این معنی که برخی از اطلاعات در فرآیند فشرده‌سازی از بین می‌رود و یا بدون اتلاف، به این معنی که تمام اطلاعات فایل اصلی در فایل فشرده حفظ می‌شود.

به این دلیل است که این موضوع به وب سایت شما مرتبط است. وب سایت شما مجموعه ای از فایل های مرتبط ذخیره شده در یک وب سرور است. 

هنگامی که یک URL را در مرورگر خود وارد می کنید، مرورگر شما یک درخواست ( معمولاً یک درخواست HTTP GET ) به وب سروری که محتوای مورد نظر شما را میزبانی می کند، ارسال می نماید. 

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

فشرده سازی Gzip چیست؟

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

وب سرورها، فایل ها را قبل از ارسال به مرورگرها فشرده می کنند. آنها سند متنی 100 صفحه ای ما را به یک مقاله 30 صفحه ای تبدیل می کنند. 

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

فشرده سازی با کدهایی مانند HTML به خوبی کار می کند زیرا سنتکس آن تکراری است. الگوریتم‌های فشرده‌سازی معمولاً با یافتن اطلاعات تکراری در یک فایل و مخفف کردن آن  کار می‌کنند. یکی از روش های فشرده سازی GZIP است.

 

فشرده سازی Gzip چیست؟

 GZIPیک فناوری فشرده سازی است که اغلب برای انتقال سریع داده ها از طریق اینترنت استفاده می شود. GZIP به یک روش فشرده ‌سازی، نرم‌افزاری که برای فشرده‌سازی فایل‌ها با این روش استفاده می‌شود و فرمت فایلی که از فشرده‌سازی GZIP حاصل می شود و معمولاً با پسوند فایل .gz نشان داده می‌شود، اطلاق می‌شود.

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

GZIP در سال 1992 معرفی شد و در ابتدا برای استفاده توسط GNU  به عنوان یک جایگزین رایگان و منبع باز برای روش های فشرده سازی اختصاصی در آن زمان در نظر گرفته شد. 

با استفاده از Gzip زمان بارگذاری صفحه بهبود می‌یابد، مصرف پهنای باند کاهش می‌یابد و سربار SSL به دلیل کاهش تعداد رفت و برگشت‌ها در حین SSL handshake کاهش می‌یابد.

gzip بر اساس الگوریتم DEFLATE است که ترکیبی از کدگذاری LZ77 و هافمن است. در اصل، GZIP الگوریتم DEFLATE بدون اتلاف را پیاده سازی می کند.

اکثر ابزارهای تست سرعت وب سایت مانند Google Pagespeed Insights به شدت توصیه می کنند فشرده سازی gzip را فعال کنید. اگر فشرده سازی gzip در وب سایت شما فعال نباشد، این ابزارها به شما هشدار می دهند.

انواع فایل های مرتبط با gzip عبارتند از:

  • .gz - پسوند فایل فشرده شده توسط الگوریتم gzip را نشان می دهد.
  • فایل tar. , tarball - فرمتی که برای ذخیره چندین فایل برای بایگانی و نه برای فشرده سازی استفاده می شود. اما از Gzip می توان برای فشرده سازی فایل های .tar استفاده کرد.
  • فایل .tgz, .tar.gz, .gz – یک فایل tar را نشان می دهد که توسط gzip فشرده شده است.

چرا از فشرده سازی GZIP استفاده می کنیم؟

GZIP مؤثر است، اما تنها روش فشرده سازی موجود نیست، حتی بهترین روش از نظر کاهش اندازه نیست.

GZIP می تواند حجم داده ها را تا 70 درصد کاهش دهد. درصورتیکه اندازه فایل‌های فشرده ‌شده با الگوریتم‌های فشرده ‌سازی مختلف را با یکدیگر مقایسه نماییم؛ الگوریتم‌هایی مانند Brotli برای داده های مبتنی بر متن از GZIP بهتر عمل می‌کنند. پس چرا هنوز اینقدر به GZIP متکی هستیم؟

دلیل اصلی این است که GZIP سریعتر از سایر رقبا است و فایل ها را در کسری از زمان فشرده می کند. این سرعت برای انتقال اطلاعات از طریق وب بسیار مهم است. به هر حال، هدف فشرده‌سازی افزایش سرعت وب ‌سایت‌ها است. 

همچنین این واقعیت مهم است که فشرده سازی GZIP از منابع کمتری نسبت به روش های دیگر استفاده می کند. GZIP برای کار کردن به قدرت محاسباتی نسبتاً کم و فضای حافظه موقتی نیاز دارد. زمانی که فضای سرور را در نظر می گیریم و این واقعیت که نیمی از ترافیک وب جهانی از طریق موبایل است؛ GZIP برای ارسال صفحات وب به دستگاه های پرمصرف و کم مصرف به طور یکسان مؤثر است.

قبل از ادامه، توجه داشته باشید که فشرده سازی GZIP مانند فشرده سازی ZIP نیست. ZIP یکی دیگر از فرمت ‌های فشرده ‌سازی بدون تلفات است که بیشتر برای ذخیره فایل‌ها استفاده می‌شود تا انتقال آنها.

 

نحوه بررسی GZIP

برای اینکه انتقال فایل با GZIP کار کند، دو چیز باید اتفاق بیفتد. ابتدا مرورگر وب به وب سرور می گوید که می تواند فایل های فشرده شده با GZIP را بپذیرد. این کار با گنجاندن Accept-Encoding HTTP header در درخواست مرورگر انجام می شود.

Accept-Encoding: gzip, deflate

اکثر مرورگرهای امروزی این هدر را به صورت پیش فرض در درخواست ها قرار می دهند.

وب سرور این هدر را پردازش می‌کند و تصمیم می‌گیرد فایل‌های درخواستی را فشرده کند یا آن‌ها را رها کند. اگر فایل ها با GZIP فشرده شده باشند، پاسخ سرور شامل هدر زیر می شود:

Content-Encoding: gzip

که به مرورگر می گوید که فایل ها باید با روش GZIP از حالت فشرده خارج شوند.

اگر می خواهید فایل های وب سایت شما به صورت فشرده ارسال شوند، باید سرور خود را فعال کنید تا درخواست های GZIP را انجام دهد. ممکن است وب سرور سایت شما بسته به پیکربندی سایت شما فشرده سازی GZIP را به طور پیش فرض فعال کرده باشد. برای بررسی این موضوع چند راه وجود دارد.

Gzip در تمامی پلن های صباهاست فعال است.

 

تست GZIP آنلاین

بسیاری از وب‌سایت‌ها به صورت رایگان فعال بودن GZIP را تأیید می‌کنند. فقط URL یک صفحه وب را وارد کنید و نتایج را ببینید. برخی از وب سایت ها همچنین گزارش مختصری ارائه می دهند که نشان می دهد GZIP چقدر حجم فایل را کاهش داده است.

 

تست آنلاین سرعت

بسیاری از تست‌های سرعت رایگان مانند Google PageSpeed Insights و Pingdom شامل توصیه هایی برای استفاده از GZIP بر روی فایل‌های خاص هستند. 

 

بررسی HTTP Header در Developer Tools 

برای بررسی فشرده سازی GZIP بدون ابزار خارجی، می توانید از پنلDeveloper Tools در مرورگر خود استفاده کنید. اکثر مرورگرها به شما امکان می دهند عناصر صفحه را بررسی کنید و اطلاعات عملکرد را از این طریق مشاهده کنید.

ابتدا صفحه وب را که می خواهید بررسی کنید در مرورگر خود لود کنید. سپس پنل Developer Tools را باز کرده و تب Network را انتخاب کنید.

لیستی از تمام منابع ارسال شده توسط وب سرور را مشاهده خواهید کرد. روی یک منبع کلیک کنید تا محتوای آن را مشاهده کنید. مطمئن شوید که تب Headers را انتخاب کرده اید، سپس به سمت پایین اسکرول نمایید تا به سربرگ content-encoding برسید و ببینید از کدام روش استفاده شده است.

 

فعال کردن فشرده سازی GZIP

Gzip را می توان برای تعدادی از پلتفرم های مختلف اعمال کرد. از آنجایی که فشرده سازی GZIP روی وب سرور اتفاق می افتد، فرآیند پیکربندی به شرکت هاستینگ و معماری سرور شما بستگی دارد.

اگر متوجه شدید که فشرده‌سازی GZIP روی وب سرور شما اجرا نمی‌شود، توصیه می‌کنیم قبل از استفاده از روش‌های زیر، اسناد ارائه ‌دهنده میزبان خود را برای دستورالعمل‌های فعال کردن فشرده ‌سازی GZIP بررسی کنید. میزبان شما ممکن است به شما تغییر فایل های سرور را توصیه نکند یا حتی اجازه ندهد.

اگر این مجوز را دارید، در اینجا چند راه حل برای تنظیمات رایج وب سرور آورده شده است:

 

فعال کردن فشرده سازی GZIP در وب سرور آپاچی

کسانی که وب‌سایت ‌هایی روی سرورهای آپاچی دارند، می‌توانند فشرده‌ سازی GZIP را از طریق فایل htaccess. که مجوزهای مختلف سرور را کنترل می‌کند، فعال کنند. برای فعال کردن gzip در وب سرور آپاچی، دستورات فشرده سازی gzip را در ماژول mod_deflate در انتهای فایل htaccess. اضافه کنید.

 

فعال کردن فشرده سازی GZIP در وب سرور NGINX

نرم افزار سرور NGINX به صورت پیش فرض فقط فایل های HTML را فشرده می کند. اگر سرور شما از NGINX استفاده می‌کند، می‌توانید با باز کردن فایل nginx.conf و یافتن خط زیر، فشرده‌سازی GZIP را در فایل ‌های سایت خود فعال کنید:

gzip on;

دقیقاً در زیر این خط، کد زیر را قرار دهید:

 

gzip_vary on;

gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;

gzip_min_length 1000;

gzip_proxied no-cache no-store private expired auth;

سپس، فایل را ذخیره کنید و پیکربندی NGINX خود را قبل از آزمایش فشرده سازی، مجدد بارگیری کنید.

gzip_types انواع فایل های فشرده را مشخص می کند. شما می توانید مواردی را به دلخواه اضافه یا حذف کنید. gzip_min_length حداقل طولی پاسخ برای فشرده سازی است. 

 

فعال کردن GZIP در وردپرس

شما می توانید gzip را در وردپرس با استفاده از یک افزونه کش که از gzip پشتیبانی می کند یا با فعال کردن gzip در وب سرور خود از طریق فایل htaccess فعال کنید.

افزونه های وردپرس زیادی وجود دارد که اضافه کردن فشرده سازی GZIP را در وب سایت وردپرس شما بسیار آسان می کند.

در برخی موارد، حتی ممکن است GZIP قبلاً توسط شرکت میزبان وردپرس شما فعال شده باشد.

GZIP بر روی هاست وردپرس صباهاست فعال است. 

 

فعال سازی فشرده سازی GZIP با WP Rocket

WP Rocket بهترین افزونه کش برای وردپرس است. استفاده از آن فوق‌العاده آسان است و تمام ویژگی‌های ضروری بهینه ‌سازی سرعت، از جمله فشرده‌سازی GZIP را فعال می‌کند.

ابتدا باید افزونه WP Rocket را نصب و فعال کنید. 

پس از فعال سازی، license key شما باید به طور خودکار فعال گردد. برای بررسی می توانید به Setting و سپس صفحه WP Rocket در مدیریت وردپرس خود مراجعه نمایید.

باید پیامی ببینید که به شما اطلاع می دهد WP Rocket فعال است و کار می کند.

فعال سازی فشرده سازی GZIP با WP Rocket

اگر از سرور آپاچی استفاده می کنید، WP Rocket به طور خودکار فشرده سازی GZIP را برای شما فعال می کند. اکثر ارائه دهندگان میزبانی وب وردپرس از آپاچی برای سرورهای خود استفاده می کنند و شما نیازی به انجام هیچ مرحله اضافی ندارید.

 

فعال کردن فشرده سازی GZIP با WP Super Cache

WP Super Cache یک افزونه رایگان کش وردپرس است. همچنین یک راه عالی برای فعال کردن فشرده سازی GZIP در سایت وردپرس شما است.

ابتدا باید افزونه WP Super Cache را نصب و فعال کنید. 

پس از فعال‌سازی، به Setting و صفحه  WP Super Cache و سپس Advanced در داشبورد وردپرس خود بروید. چک باکس Compress pages so they’re served more quickly to visitors را علامت بزنید.

فعال کردن فشرده سازی GZIP با WP Super Cache

سپس باید صفحه را به پایین اسکرول نمایید و روی دکمه Update Status کلیک کنید تا تغییرات خود را ذخیره کنید. WP Super Cache اکنون فشرده سازی gZip را در وب سایت وردپرس شما فعال می کند.

 

فعال کردن فشرده سازی GZIP با W3 Total Cache

W3 Total Cache یکی دیگر از افزونه های عالی کش وردپرس است. استفاده از آن ممکن است برای مبتدیان به راحتی افزونه های قبلی نباشد. این افزونه دارای یک نسخه رایگان نیز است. 

ابتدا باید افزونه W3 Total Cache را نصب و فعال کنید. 

پس از فعال سازی، فشرده سازی GZIP به طور خودکار در وب سایت شما فعال می شود. می توانید با رفتن به صفحه Performance و General Settings در داشبورد وردپرس خود، این مورد را بررسی یا تغییر دهید.

صفحه را اسکرول کنید تا به Browser Cache برسید و مطمئن شوید که کادر Enable را علامت زده اید.

فعال کردن فشرده سازی GZIP با W3 Total Cache

فراموش نکنید که در صورت ایجاد هرگونه تغییر، روی دکمه Save all changes کلیک کنید.

برای کسب اطلاعات بیشتر در مورد بهبود سرعت و عملکرد وب سایت های وردپرسی پیشنهاد می گردد مقاله افزایش سرعت و عملکرد وب سایت های وردپرسی را مطالعه فرمایید.

 

استفاده از Gzip در CDN

تقریباً تمام شبکه‌ های تحویل محتوا (CDN) فشرده ‌سازی خودکار فایل را با gzip ارائه می‌کنند. 

علاوه بر این، CDN ها معمولاً تعدادی از تکنیک های بهینه سازی front-end را پشتیبانی می کنند که می توانند همراه با gzip برای کاهش بیشتر اندازه فایل خروجی استفاده شوند.

این موارد نوعی فرآیند بهینه سازی است که در آن عناصری مانند فضاهای سفید و نام های تکراری متغیرها از کدهای یک فایل حذف می شوند و به طور بالقوه اندازه آن را قبل از فشرده سازی به نصف کاهش می دهند. اکثر CDN ها به طور خودکار بسیاری از محتوای سایت از جمله جاوا اسکریپت، HTML و CSS را در لحظه کوچک می کنند. 

در حالی که کوچک سازی قبل از gzip کردن یک فایل ممکن است اضافی به نظر برسد، بررسی ها نشان داده است که اندازه tarfile را به میزان 5 تا 10 درصد دیگر کاهش می دهد. 

از آنجایی که CDN ها هم کوچک سازی و هم فشرده سازی gzip را انجام می دهند، اندازه فایل های کد تحویل داده شده به کاربران شما را به حداقل می رساند و زمان بارگذاری صفحه را به میزان قابل توجهی کاهش می دهد.

 

اهمیت فشرده سازی در UX

به یاد داشته باشید، هدف همه این بحث های فنی این است که با ارائه سریع ترین صفحات ممکن، بهترین تجربه کاربری ممکن را به بازدید کنندگان خود ارائه دهید. 

با اجرای فشرده سازی بر روی وب سرور خود، بدون هزینه اضافی، محتوای مورد نظر را به بازدید کنندگان ارائه می دهید، تأثیرات بیشتری را جذب خواهید کرد، تعامل بیشتری را به همراه خواهید داشت و بازدیدکنندگان بیشتری را به مشتری تبدیل خواهید کرد. سرعت سایت تا حد زیادی بر موفقیت آنلاین شما تأثیرگذار است.

راهکار صباهاست

انتخاب هاست مناسب یکی از مهمترین عوامل برای بهبود سرعت و امنیت وب سایت است. با توجه به اینکه یکی از فاکتورهای کلیدی برای افزایش سرعت وب سایت، استفاده از فشرده سازی می باشد؛ در تمامی پلن های صباهاست، Gzip فعال است. صباهاست با ارائه پلن های مختلف برای هاست ویندوز و هاست لینوکس و با بهره گیری از قوی ترین منابع سخت افزاری و پشتیبانی 24 ساعته و ویژگی هایی همچون آپ تایم نزدیک به 100%، ترافیک نامحدود، waf اختصاصی و فایروال اختصاصی؛ سرعت و امنیت وب سایت شما را فراهم می نماید. سرورهای صباهاست در بهترین دیتاسنترهای ایران و آلمان واقع شده اند.

جمع بندی

سرعت وب سایت در سئو سایت و ارائه تجربه کاربری بهتر برای بازدید کنندگان تأثیر بسزایی دارد. در این مقاله در مورد مفهوم فشرده سازی و اهمیت آن در افزایش سرعت بارگذاری صفحات وب سایت توضیحاتی ارائه گردید. سپس یکی از روش های مهم فشرده سازی به نام GZIP مورد بررسی قرار گرفت. همچنین نحوه فعال کردن فشرده سازی GZIP در وب سرور آپاچی، وب سرور NGINX و وب سایت های وردپرسی شرح داده شد.

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

این مقاله را با دوستان خود به اشتراک بگذارید.

موفق باشید.

برچسب ها :
دسته بندی ها :