صفحه اصلی - جوان سرور

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

فعال کردن جی زیپ

Gzip یک روش فشرده سازی فایل ها (کم حجم کردن آن ها) جهت انتقال سریعتر در شبکه است.

Gzip همچنین یک فرمت فایل نیز می باشد.

جی زیپ

Gzip باعث کاهش حجم سایت و افزایش سرعت لود سایت می‌شود، فشرده سازی حجم فایل ها را کاهش می دهد و این امکان را برای وب سرور فراهم می کند که با سرعت بیشتری کاربران سایت را مشاهده کنند.

حتما شما  نیز تا کنون در سیستم خودتان فایلی را به حالت فشرده zip  یا rar  تغییر داده ایدو می‌دانید که هدف اصلی این فایل‌ها فشرده‌سازی اطلاعات می‌باشد تا جدا از اینکه حجم کمتری در سیستم بگیرد، انتقال آن هم سریع‌تر و راحت‌تر خواهد بود،حال عمل Gzip همین کار را برای فایل‌هایی که در سایت موجود است انجام می‌دهد.

فایل‌های با حجم کمتر به بازدیدکنندگان سایت شما اجازه می‌دهد تا فایل‌های سایت را سریع‌تر دریافت کنند و در نتیجه سایت شما را سریع‌تر مشاهده کنند. لازم بذکر است که تابع Gzip هر فایلی در سمت سرور را فشرده سازی نمی‌کند، فشرده سازی صرفا منوط به فایل‌هایی مانند فایلهای   HTML ، فایل‌های استایل‌دهی (stylesheets) و جاوااسکریپت (JavaScript) می‌باشد و شامل تصاویر و بقیه فایل‌های موجود دیگر نیست.

چطور Gzip compression کار می کند؟

جیزیپ

وقتی کاربر آدرس سایتی را در مروگر درج  می کند، مرورگر اول یک درخواست از سمت header یعنی “content-encoding: gzip” ارسال می‌کند تا بررسی کند آیا جواب این درخواست مثبت است یا منفی. اگر درخواست از سمت سرور شناسایی شد و مثبت بود، سرور فایل‌های فشرده شده را به مرورگر ارسال می‌کند، درغیر این صورت سرور فایل‌های غیر فشرده و سنگین را به مرورگر ارسال می‌کند. همه مرورگرهای جدید gzip را پشتیبانی می کنند.

فشرده سازی gzip چقدر موثر است؟

 

gzip

مزیت استفاده از Gzip compression  این است که فشرده سازی فایل های HTML و CSS شما با gzip معمولا حدود پنجاه تا هفتاد درصد حجم فایل را ذخیره می کند. این به این معنی است که زمان بارگذاری صفحات شما کمتر شده و پهنای باند کمتر نیز مورد استفاده قرار می‌گیرد.

نحوه بررسی فعال بودن gzip

از طریق سایت varvy.com  می توانید فعال بودن gzip را بررسی کنید

 

نحوه فعالسازی Gzip compression

فشرده سازی از طریق تنظیمات وب سرور فعال می شود

Webserver های مختلف دستورالعمل های مختلفی دارند (که در ادامه توضیح داده می شود)

در این مقاله رایج ترین روش های فعال سازی فشرده سازی از جمله در وردپرس، جوملا، .htaccess و وب‌سرورهای Apache، Nginx و IIS تشریح می شود.

 

فعال سازی gzip در وردپرس

جی زیپ چیست

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

 

فعال سازی gzip در جوملا

جهت فعالسازی gzip در جوملا وارد مدیریت جوملا شده سپس در منوی سایت – تنظیمات کلی وارد شوید و در تب سرور گزینه فشرده سازی Gzip را روی بلی قرار داده و سپس تغییرات را ذخیره نمائید.

جی زیپ

 

فعال سازی gzip در htaccess

جهت فعالسازی gzip در htaccess، ابتدا فایل  .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

اگر کد بالا یه شما در فعال سازی قابلیت gzip کمک نکرد میتوانید کد زیر را جایگزین کد های داخل فایل .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

برای فعال کردن فشرده سازی در 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-6].(?!.*SV1)";
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

فعال سازی gzip در IIS

جهت فعالسازی gzip در iis،  بصورت زیر اقدام نمائید.

 

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

جی زیپ و راه اندازی در اپاچی

سپس IIS Manager را باز نموده و برروی نام سرور کلیک نمایید.

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

Enable Static Content Compression

Enable Dynamic Content Compression

برروی نام سایت مورد نظر خود کلیک کرده و در قسمت compression آن مجدداً دو گزینه اعلام شده را فعال نمایید.

حال نیاز است تنظیمات را در فایل وبکانفیگ سایت موردنظر نیز بصورت زیر فعال کنید:

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

<system.webServer>
    <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
      <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
      <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 typeهای مدنظر جهت فشرده سازی، ذکر شده‌اند. با این تنظیمات، تنها mime typeهایی که به صورت صریح ذکر شده‌اند فشرده خواهند شد و از سایر mime types صرفنظر می‌شود.

 

نتیجه گیری:

درصورتیکه بدنبال راهکاری جهت بهینه سازی سایت، افزایش سرعت و کاهش ترافیک مصرفی می باشید، فعالسازی Gzip compression یکی از موارد موثر خواهد بود.

سایر آموزش ها
به راهنمایی بیشتری نیاز دارید؟‌ با ما در تماس باشید 95119945-021
logo-enamad