انواع مختلفی Cache وجود دارد که از طریق سرور و یا اکانت هاست قابل فعالسازی هستند. از مهمترین و پرکاربردترین نوع این کشها میتوان به Leverage browser caching اشاره کرد. در ادامه دلیل محبوبیت این کش و استفادهی رایج از آن ذکر شده است.
Leverage browser caching باعث میشود تا بسیاری از فایلهای وبسایت در سیستم بازدیدکنندگان ذخیره شود و به این وسیله زمان لود صفحات وبسایت را به صورت چشمگیری کاهش میدهد. یعنی چنانچه بازدیدکننده بار دوم وبسایت شما را بازدید کند، در زمان کمتری به محتوای وبسایت دسترسی پیدا کرده و به این وسیله در مصرف وقت او و هزینهی ترافیکی که شما پرداخت میکنید، صرفهجویی میشود اما این نوع کش مزیت مهمتری نیز دارد و آن افزایش رنک سئو است.
به عنوان توضیح بیشتر، زمانی که یک وبسایت لود میشود، مرورگر ملزم است تا تمامی فایلهای مربوط به آن را جهت نمایش صفحه وبسایت لود کند. این فایلها شامل HTML، CSS، JavaScript و تصاویر میشود. ممکن است تعداد این فایلها زیاد باشد که در این صورت حتی اگر حجمشان کم (به اندازهی چند کیلوبایت) باشد نیز در کل حجم آن صفحهی وبسایت به چند مگابایت خواهد رسید. این حجم بالا دو مشکل ایجاد میکند:
1- زمان لود فایلها طولانی میشود و ممکن است برای کاربر رنجآور باشد مخصوصاً اگر او از اینترنت کم سرعت استفاده کند.
2- هر فایلی به صورت مجزا درخواست به سمت سرور ارسال میکند. هر چقدر تعداد ارسالهای همزمان بالاتر رود، سرعت وبسایت کاهش مییابد و حتی ممکن است اکانتی با محتوای ساده را به اکانتی پرمصرف در سرور تبدیل کند.
اینجاست که اهمیت Browser Caching دوچندان میشود. کش کردن اطلاعات توسط مرورگر باعث میشود تا تعدادی از این فایلها در آن یعنی سیستم شخصی بازدید کننده ذخیره شود. در این صورت چنانچه بار دوم و یا چندمین مرتبه است که به وبسایت مراجعه میکنید، حتی اگر به صفحهای دیگر مراجعه نمایید و یا همان صفحهای که از آن بازدید کردهاید را Refresh کنید، تعدادی از اِلِمانهای آن صفحهی وبسایت توسط مرورگر از پیش ذخیره شده و سریعاً لود میشود. این به این معناست که میزان دیتایی که توسط کاربر لازم است دانلود شود کاهش مییابد و به این وبسیله تعداد درخواست کمتری به سمت سرور ارسال میشود. نتیجه چیست؟ کاهش لود سرور و زمان بارگذاری صفحات وبسایت.
نحوه فعالسازی کش از طریق فایل .htaccess
1- وارد فایل .htaccess شوید.
2- کد زیر را در فایل .htaccess قرار داده و آن را ذخیره نمایید:
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>
## EXPIRES CACHING
بسته به نوع وبسایت و فایلهای مورد استفاده در آن میتوانید زمان انقضاهای مختلفی را برای کش فایلهای خود در نظر بگیرید. درواقع چنانچه برخی فایلها را سریعتر بروز میکنید و کاربران به اطلاعات بروز شده نیاز دارند، زمانها را در کد فوق میتوانید کاهش دهید؛ برای مثال عبارت «1 month» را در خط زیر به «10 days» تغییر دهید:
ExpiresByType text/css "access plus 1 month"