مجله خبری هاست ایران » شبکه » Gzip چیست؟ آموزش فعال سازی Gzip

پربازدید‌ترین‌های ماه

سئو و بهینه سازی سایت شبکه طراحی و توسعه میزبانی وب

Gzip چیست؟ آموزش فعال سازی Gzip

Gzip چیست؟ آموزش فعال سازی Gzip

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

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

معرفی Gzip

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

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

برای مشاهده قیمت‌ها و شرایط مربوط به هاست اشتراکی، خدمات میزبانی وب و همچنین انتقال سایت خود به دیتاسنتر هاست ایران بر روی دکمه روبه‌رو کلیک کنید. جهت کسب اطلاعات بیشتر و دریافت مشاوره با واحد فروش میزبانی وب به شماره ۰۲۱۲۸۳۱۰ تماس حاصل فرمایید.

اطلاعات بیشتر

احتمالاً تابه‌حال یک فایل zip یا rar را در کامپیوترتان باز کرده‌اید و می‌دانید که هدف اصلی این است که داده را فشرده کنید تا بتوانید سریع و آسان ارسالش کنید. جی زیپ همین کار را برای فایل‌های سایت انجام می‌دهد.

ابزار Gzip متداول‌ترین متد فشرده‌سازی است که توسط خدمات دهندگان وب و مرورگرها استفاده می‌شود تا محتوا را برای انتقال بدون دردسر در اینترنت فشرده کنند. جی زیپ بیشتر روی کد و فایل‌های متنی استفاده می‌شود و می‌تواند سایز فایل‌های JavaScript، CSS و HTML را تا ۹۰% کوچک کند. فایل‌های کوچک‌تر بازدیدکنندگان سایت را قادر می‌کنند تا آن‌ها را به‌راحتی دریافت کنند و سایت شما را با سرعت بیشتری بازدید کنند.


مقاله مرتبط: روش های کاهش حجم کدهای CSS


جی زیپ هیچ فایلی را در سمت سرور فشرده نمی‌کند بلکه فقط روی فایل‌هایی مانند HTML ، Stylesheets و JavaScript اجرا می‌شود و شامل تصاویر و سایر فایل‌های سایت نمی‌شود.

 

فشرده‌سازی Gzip چگونه کار می‌کند؟

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

فشرده‌سازی Gzip چگونه کار می‌کند؟

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

یک مطالعه تحقیقاتی در سال ۲۰۰۹ نشان داد که فشرده‌سازی، تأثیر بزرگی روی سایت‌های مطرح دنیا دارد؛ مثلاً فیس‌بوک زمان لود صفحات را تا ۹.۴ ثانیه کاهش می‌دهد که معادل ۴۱۴% صرفه‌جویی در زمان لود است. البته صرفه‌جویی ۳۵۰ کیلوبایت در دنیای داده-محور امروز رقم بزرگی نیست؛ اما هنگامی‌که تعداد میلیاردی کاربران فیس‌بوک را در نظر بگیریم، تغییر بزرگی ایجاد می‌کند.

یکی از گزارش‌های گوگل هم نشان می‌دهد که متوسط ضریب فشرده‌سازی برای برخی از لایبرری‌های محبوب جاوا اسکریپ و فریم ورک‌های سی اس اس، ۷۷% است. باوجودیکه گوگل مقدار متوسط ۱۰.۳ کیلوبایت یا ۴۴% صرفه‌جویی حاصل از فشرده‌سازی را در صفحه خانه‌اش دارد؛ اما برخی فریم ورک‌های سی‌اس‌اس تا ۸۸% صرفه‌جویی دارند. در ترکیب با تکنیک کوچک‌سازی (Minification) و سایر ابزارهای کاهش سایز داده، فشرده‌سازی می‌تواند به‌صورت چشمگیری سایز برخی از لایبرری‌های متداول وب را کاهش دهد.


مقاله مرتبط: Minification چیست و چه مزیتی برای وب‌سایت شما دارد؟


فعال سازی Gzip

برای آگاهی از فعال بودن جی زیپ می‌توانید از خدمات برخی سایت‌ها و اکستنشن‌ها استفاده کنید که شامل سایت‌های Google page speed insigts و GTmetrix و Whatsmyip و  Varvy و  Prorank و اکستنشن مرورگر Wappalyzer است.

فشرده‌سازی از طریق تنظیمات وب سرور فعال می‌شود. انواع وب سرور هر کدام ساختار متفاوتی دارند که در ادامه مقاله آن‌ها را توضیح می‌دهیم:

  • فعال‌سازی Gzip در WordPress

فعال‌سازی Gzip در WordPress

می‌توانید از پلاگین‌های cach که این ابزار را پشتیبانی می‌کند استفاده نمایید. پلاگین‌هایی مانند WP Rocket و W3 Total Cache به‌صورت اتوماتیک کد فعال‌سازی را در فایل .htaccess سایت قرار می‌دهند. البته برای نوشتن در این فایل باید دسترسی لازم را داشته باشید.

  • فعال‌سازی Gzip در Joomla

به بخش Menu> General Settings بروید و در تب سرور، فشرده‌سازی جی زیپ را روی yes قرار دهید و سپس تغییرات را ذخیره کنید.

  • فعال‌سازی Gzip در htaccess

ابتدا فایل htaccess سایت را باز کنید و کد زیر را کپی کنید سپس تغییرات را ذخیره کنید. توجه داشته باشید فایل htaccess معمولاً مخفی است پس ابتدا ویژگی Show hidden files را فعال کنید.


مقاله مرتبط: فایل 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>

  • فعال‌سازی 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

  • فعال‌سازی Gzip در Nginx

برای فعال شدن Gzip در Nginx کد زیر را در فایل کانفیگ اضافه کنید:

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–۶]. (?!. * SV1)”;

# Add a varying header for downstream proxies to avoid sending cached gzipped files to IE6

gzip_vary on;

  • فعال‌سازی Gzip در LiteSpeed

ابتدا به بخش Web Admin Console> Server> Tuning بروید و گزینه فعال‌سازی فشرده‌سازی را چک کنید که فعال باشد. اگر نبود، گزینه ویرایش را انتخاب کنید و سپس این ویژگی را فعال کنید.

نوع mime جدید را به‌صورت زیر فعال کنید:

در کنسول مدیریت Lite Speed به آدرس زیر بروید:

Web Admin Console> Server> Tuning> GZIP Compression> Edit> Compressible Types

در این بخش، application / json را اضافه کنید، تغییرات را ذخیره کنید و رابط کاربری را دوباره راه‌اندازی کنید.

  • فعال ساری Gzip در IIS

از بخش مدیریت سرور به صفحه Select Role Services بروید، سپس گزینه‌های سرور وب را باز کنید، Performance را انتخاب کنید و مطمئن شوید که هر دو گزینه Static Content Compression  و Dynamic Content Compression فعال هستند.

سپس IIS Manager را باز کنید و روی نام سرور کلیک کنید. روی گزینه فشرده‌سازی دوبار کلیک کنید و ۲ گزینه زیر را در پنجره باز شده تیک کنید:

Enable Static Content Compression

Enable Dynamic Content Compression

سپس روی دکمه  Apply در سمت راست کلیک کنید. روی نام سایت هم کلیک کنید و درنهایت روی گزینه فشرده‌سازی دو بار کلیک کنید.

باید تنظیمات را در فایل تنظیمات وب‌سایت هم فعال کنید:

پس‌ازاینکه مطمئن شدید که ماژول فشرده‌سازی صفحه در سمت سرور نصب شده است باید کد زیر را به سایت Web.Config اضافه کنید:

<system.webServer>

<httpCompression directory = ”% SystemDrive% \ inetpub \ temp \ IIS Temporary Compressed Files”>

<scheme name = “gzip” dll = “% Windir% \ system32 \ inetsrv \ gzip.dll” staticCompressionLevel = “۹ ″ />

<dynamicTypes>

<add mimeType = “text / *” enabled = “true” />

<add mimeType = “message / *” enabled = “true” />

<add mimeType = “application / x-javascript” enabled = “true” />

<add mimeType = “application / javascript” enabled = “true” />

<add mimeType = “application / json” enabled = “true” />

<add mimeType = ”application / json; charset = utf-8 ″ enabled = ”true” />

<add mimeType = “application / atom + xml” enabled = “true” />

<add mimeType = “application / xaml + xml” enabled = “true” />

<add mimeType = “* / *” enabled = “false” />

</dynamicTypes>

<staticTypes>

<add mimeType = “text / *” enabled = “true” />

<add mimeType = “message / *” enabled = “true” />

<add mimeType = “application / x-javascript” enabled = “true” />

<add mimeType = “application / javascript” enabled = “true” />

<add mimeType = “application / json” enabled = “true” />

<add mimeType = ”application / json; charset = utf-8 ″ enabled = ”true” />

<add mimeType = “application / atom + xml” enabled = “true” />

<add mimeType = “application / xaml + xml” enabled = “true” />

<add mimeType = “* / *” enabled = “false” />

</staticTypes>

</httpCompression>

<urlCompression doStaticCompression = ”true” doDynamicCompression = ”true” />

</system.webServer>

تنظیمات فعال‌سازی جی زیپ در صفحات دینامیک و فایل‌های استاتیک شامل مکان فایل‌های موقت فشرده شده توسط این ماژول است علاوه بر اینکه نوع mime که می‌خواهید فشرده کنید را هم نشان می‌دهد. البته با این تنظیمات فقط mime غیر مخفی. فشرده می‌شود و انواع دیگر نادیده گرفته می‌شوند.

نتیجه‌گیری

در ۱۰ سال گذشته، صفحات وب معمولی سایزشان تا ۱.۲ مگابایت افزایش پیدا کرده است. هر چه تقاضای اطلاعات بیشتر می‌شود، تکنیک‌های لازم برای انتقال سریع و مؤثر داده هم ضرورت پیدا می‌کنند. با توجه به اینکه افزایش ۱۰۰ ثانیه‌ای سرعت لود صفحه می‌تواند فروش سایت را تا ۱% کاهش دهد، لازم است که خدمات دهندگان وب و کسب‌وکارها تا حداکثر توان مؤثر شوند.

منبع medium.com

افزودن دیدگاه

کلیک برای ثبت دیدگاه