تفهیم شیوه کار GZIP

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

۱. مرورگر: سلام! لطفا فایل index.php صفحه اول Maghsad.comرا به من بده
۲. سرور: خوب! اجازه بده تا فایل مورد نظر را پیدا کنم
۳. سرور: پیدا کردم! این کد پاسخ شماست (200 OK). من فایل را برایتان می‌فرستم این 500KB اطلاعات صفحه درخواستی شما! بیا و ببر!
۴. مرورگر: 500 کیلوبایت؟ اوه چقدر زیاد! انتظار… انتظار… بسیار خوب، بارگزاری شد

تفهیم شیوه کار GZIP

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

۱. مرورگر: سلام! لطفا فایل index.php صفحه اول Maghsad.comرا به من بده
۲. سرور: خوب! اجازه بده تا فایل مورد نظر را پیدا کنم
۳. سرور: پیدا کردم! این کد پاسخ شماست (200 OK). من فایل را برایتان می‌فرستم این 500KB اطلاعات صفحه درخواستی شما! بیا و ببر!
۴. مرورگر: 500 کیلوبایت؟ اوه چقدر زیاد! انتظار… انتظار… بسیار خوب، بارگزاری شد

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

کجای کار مشکل دارد؟

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

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

۱. مرورگر: سلام! می‌توانم index.php اطلاعات صفحه اول Maghsad.com  را دریافت کنم؟ اگر نسخه فشرده دارید لطفا آن‌را به من بدهید.
۲. سرور: اجازه بدهید فایل را پیدا کنم. بله، همین‌جاست! گفتید نسخه فشرده می‌خواهید؟ عالی است. ای بابا! سخت شد ولی اشکال نداره!
۳. سرور: من index.php را پیدا کردم (200 OK). فایل را فشرده و برای‌تان ارسال می‌کنم. این 200KB اطلاعات صفحه درخواستی شما؛ فشرده شده! بیا و ببر!
۴. مرورگر: فوق‌العاده است. فقط 200 کیلوبایت! آن‌را از حالت فشرده خارج و به کاربر نمایش خواهم داد.

خب ابتدا فایل زیر را در روت انجمن خود بیابید.htaccess و آن را باز کنید.

به ابتدای آن کد زیر را اضافه کنید.

کد:

<ifModule mod_deflate.c>
<filesMatch “\.(css|js|x?html?|php)$”>
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>

این کد، فایل‌های CSS، JS، HTML، XHTML و PHP سایت شما را gzip می‌کند.

منبع:

http://www.php-bb.ir/forum/articles-learning-f51/gzip-phpbb-t9.html
موفق و موید باشید.