نویسنده: علی باقری نیا
تاریخ: ۴,مرداد,۱۳۹۲
آخرین ویرایش: ۰۴ بهمن ۱۳۹۵
۴ دیدگاه
827 بازديد

افزایش سرعت وب با gzip

برای کاهش حجم صفحات یک سایت روش‌های مختلفی وجود دارد. ...

امتیاز دهید :

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
  • با وجود اینکه روزانه دسترسی به اینترنت و به طبع آن، سرعت آن نیز افزایش می یابد اما کماکان حجم صفحه تولیدی و مقدار عناصر استفاده شده در یک صفحه وب از ارکان مهم در طراحی یک سایت یا وبلاگ هستند؛ تا جایی که گوگل نیز یکی از فاکتور‌های پیج رنک خود را روی سرعت سایت‌ها معطوف کرده است.

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

    request بهینه سازی و افزایش سرعت لود شدن وب سایت توسط gzip

    شیوه کار GZIP

    شاید خیلی‌ها هنوز ندانند که شیوه عمل ترفند GZIP و نحوه فشرده کردن صفحه به چه صورت انجام می‌شود. قبل از آنکه به سراغ معرفی این روش بپردازیم اجازه دهید تا با بیان یک مثال تصویری، نحوه انجام این کار را عنوان کنیم. هنگامی که فایل صفحه ای مانند http://www.7learn.com/index.php را از مرورگر درخواست می کنید، اطلاعاتی بین مرورگر و سایت مورد نظر رد و بدل می‌شود که به طور مختصر شبیه به تصویر بالا است:

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

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

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

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

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

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

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

    به‌طور ساده برای فشرده کردن فایل‌های متنی خود می‌توانید از ماژول deflate آپاچی استفاده کنید. برای این کار کافی است کدهای زیر را در فایل .htaccess سایت خود کپی نمایید

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

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

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

    test بهینه سازی و افزایش سرعت لود شدن وب سایت توسط gzip

    همانطور که در تصویر می بینید حجم واقعی صفحه ۹۴۳۲۸ بایت هستش که بعد از فشرده سازی به ۱۸۰۹۵ کاهش پیدا کرده یعنی چیزی حدود ۸۰ درصد کاهش حجم… خیلی جالبه نه؟ حالا با محاسبات زیر جالب تر هم میشه:

    حالا من می خواهم سرعت لود شدن وب سایت ۷learn رو قبل و بعد از فشرده سازی براتون محاسبه کنم تا بیشتر فواید gzip رو درک کنید.

    ابتدا فرض میکنیم که کاربر ما توسط سرویسی با سرعت (۵۶kbps) به اینترنت متصل است:

    تبدیل حجم واقعی صفحه به کیلو بایت:

    ۹۴۳۲۸/۱۰۲۴=۹۲kbytes

    تبدیل حجم بعد از فشرده سازی به کیلو بایت:

    ۱۸۰۹۵/۱۰۲۴=۱۷kbytes

    حالا خودتون قضاوت کنید سرعت کدام حالت وب سایت برای لود شدن بیشتره؟ آیا تمام کاربرانتون از اینترنت پر سرعت استفاده می کنند؟ قطعا پاسخ شما منفی هستش  …

    این یکی از راه کارهای اساسی در زمینه بهینه سازی و سئو یک وب سایت می باشد که باید مد نظر گرفته شود.

    منبعوبلاگینا

    امیدوارم که این مطلب مورد توجه شما واقع شده باشد.

    موفق باشید…

  • تازه های وردپرس رو از کانال تلگرام خانه وردپرس دنبال کنید