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

از انجایی که از ملاک های اساسی گوگل برای رتبه بندی سرعت لودینگ صفحات میباشد بالا بردن سرعت سایت ها ، از دغدغه های اصلی وبستران بوده و هست . همچنین تجربه نشان میدهد که کاربران صفحاتی را که دارای لود دیر باشند هر چند کوتاه تر از ۴-۵ ثانیه به سرعت میبندند و به سراغ سایت دیگری میروند !

در این مقاله ما تکنولوژی Gzip را به شما معرفی میکنیم که بسیار بسیار کاربردی و حائذ اهمیت است . . .

 

Gzip چیست؟

Gzip یک الگوریتم فشرده سازی همانند Zip و SIT ایست.استفاده از این الگوریتم بسیار متدوال بوده و اگر شما با داده های غیر فشرده سر و کار دارید میتوانید انبوهی از فضاهای خالی را توسط Gzip کردن فایلهایتان بدست آورید.یک فایل تصویری پیش از این با ااستفاده از الگوریتم jpeg یا gif فشرده می شد و چنانکه به صورت یک داده طبیعی باشد،فشرده سازی دوباره با Gzip تاثیر چندانی در آن نخواهد داشت.

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

ولی اگر شما یک فایل متن خام،یا حتی بهتر از آن مثل فایلهای xml یا html داشته باشید برای شما نتجیه ی مطلوبتری خواهد داشت.

ولی بسیاری از مردم چنین فکر نمیکنند،چرا که فایلهای تصویری همیشه حجمی بیشتر از یک فایل html  برای آنها دارد.اما فایلها html در حال رشد و بزرگ شدن توسط قالب صفحه های بسیار پیچیده  و چیزهایی شبیه JavaScript هستند.فایلهای۴۰ کیلوبایت html بسیار معمولی و پیش پا افتاده هستند.حال وقتی شما در مورد چیستی فایل html فکر میکنید.بسیاری از این فایلها را شامل تگ های HTML که بسیار شبیه به هم  بوده که بارها و بارها تکرار شده اند،میدانید.فشرده سازی HTML یکی از بهترین نمونه هایی از فشرده سازی است که میتوان نام برد.شما به راحتی میتوانید یک فایل ۴۰ کیلوبایتی را به پایین تر از ۳ کیلوبایت برسانید.

اما این کار را چگونه تحقق بخشیم؟

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

سه راه اصلی برای Gzip  کردن کدهایتان دارید.دو مورد استفاده از mod_gzip می باشد.اکنون نیز روش mod_gzip کار میکند  ولی باید صادقانه گفت که تنظیمات آن بسیار درد سر ساز است.زمانیکه آنرا پیکر بندی کردید میتوانید از آن دو روش را استفاده کنید.آپاچی هم میتواند به صورت خودکار تمامی فایلهای HTML  را Gzip  بدون فایلها قبلی.یا حتی شما میتوانید دو نسخه از هر صفحه را روی هاستتان ذخیره کنید.یک نسخه Gzip شده و یک نسخه عادی و با قاعده.

برای مثال،شما در دایرکتوری Home دارید:

Index.html و Index.gz

مرورگرهایی که gzip را پشتیبانی میکنند فایل gz  را دریافت میکنند و آنهایی که پشتیبانی نمیکنند از فایل html استفاده میکنند.در هر صورت شما mod_gzip را تنظیم میکنید.آپاچی به صورت خودکار فایلهای فشرده(gzip) را به مرورگرهایی که از آن پشیبانی میکنند، ارسال میکند و الا فایل html را خواهد فرستاد.

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

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

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

بخش منفی کار کجاست؟

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

به همین دلیل من راه سوم رو به شما پیشنهاد میکنم که بسیار آسان است.با این روش شما فکر خواهید کرد کارهایی که انجام داده اید بسیار اشتباه بوده است.mod_gzip را فراموش کنید.در عوض از PHP استفاده کنید.

فقط کافیست همه ی شما کد زیر را در بالای هر سند php قرار دهید و منتظر جادوی آن باشید.تمامی صفحات html شما فشرده خواهد شد.

کد:

<? ob_start(“ob_gzhandler”); ?>

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

چگونه از صحت کار مطمئن شویم:

Gzip به نرمی و آرامی کار میکند.شک نکنید و در تعجب باشید که “آیا آن کار میکند؟”من اینجا راهی ساده برای بررسی آن ارائه میکنم.تنها آزماینده Gzip سایت شماست.آدرس وبسایتتان را تایپ کنیید.

شما متوانید به صورت دستی چک کنید.صفحات خود را در فایرفاکس بارگذاری کنید.حال از منوی Tools گزینه ی Page Info رو انتخاب کنید.حال در پنجره ی باز شده شما میتوانید مقدار سایز صفحه را ببیند.آن مقدارحجم  واقعی است که بر روی اینترنت منتقل شده است.حال به منوی فایل رفته و صفحه خود را ذخیره کنید.و حال حجم فایل اچ تی ام ال ذخیره شده را بررسی کنید.اگر شما از gzip استفاده نمیکردید در پنجره ی باز شده حجمی معادل با صفحه ی ذخیره شده خواهید داشت. شما با این کار قدرت Gzip را خواهید دید.

 

با Gzip علاوه بر سرعت بارگذاری بالای صفحات، میزان استفاده از پهنای باند را نیز کاهش می دهد که این به منزله ی کاهش هزینه های سرور شما نیز است. به منظور بررسی میزان افزایش سرعت وب سایتتان از ابزار TestThisURL استفاده نمایید. وب سایت شما چقدر فشرده شد؟

 

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

معمولترین ابزارهای فشرده سازی در لینوکس gzip , bzip2 و zip می باشد که در بین کاربران عادی zip محبوبیت و کاربرد بیشتری دارد ولی در دنیای لینوکس 2 ابزار دیگر کاربرد و مقبولیت بیشتری دارند.
خروجی پسوند هر کدام از ابزارهای بالا به شرح زیر می باشد :

bzip2=bz2
gzip=gz
zip=zip

شاید در ذهن شما این سوال آمده است که “ما اغلب با پسوندهایی نظیر tar.gz و tar.bz2 روبرو هستیم , پس جایگاه و کاربرد tar چیست؟”

در پاسخ به این سوال باید گفت که tar ابزار فشرده سازی محسوب نمی شود و هیچ گونه فشرده سازی برای ما انجام نمی دهد بلکه ابزاری جهت تهیه پشتیبان و آرشیو است.tar در واقع یک ابزار کمکی برای gzip و bzip2 در امر فشرده سازی محسوب می شود از آنجائیکه این 2 ابزار قادر به فشرده سازی چندین فایل و دایرکتوری در یک فایل واحد نمی باشند , در واقع این ابزارها برای هر فایل , فایل فشرده شده جداگانه می سازند در صورتیکه tar امکان گرد هم آوردن چندین فایل و دایرکتوری در یک فایل را به آسانی در اختیار ما قرار می دهد.

 

نصب ابزارهای مورد نیاز در صورت لزوم :

معمولا ابزارهای tar و gzip در اکثریت لینوکس ها بطور پیش فرض نصب می باشند.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شانزده − 6 =