سرعت و زمان لود سایت یکی از موضوعاتی است که برای بازدیدکنندگان بسیارحائز اهمیت است که طراح سایت با ترفند های زیادی می تواند آنرا بهبود بخشد برای مثال زمان لود صفحه برای بازدیدکنندگان با ذخیره و دوباره استفاده کردن فایل های موجود در سایت به طور قابل توجهی بهبود می یابد.در این مقاله سعی داریم به Browser Caching که می تواند تاثیر گذار باشد بپردازیم.
- زمان لود صفحه برای بازدیدکنندگان تکراری کاهش می یابد.
- این مورد به خصوص در وب سایت هایی که کاربران از یکسری مناطق خاص از سایت دیدن می کنند, موثرتر است.
- در استفاده از آن نسبت سود به هزینه زیاد است
- نیاز به تاریخ انقضا دارد
دستور العمل های عمومی برای تعیین مدت انقضا
1-محتوای استاتیک(استایل های css جهانی, لوگوها و …( دسترسی برای 1 سال
2-هر چیز دیگری دسترسی به مدت 1 هفته
Browser Caching چیست(حافظه ی پنهان)
هر بار مرورگر صفحه ی وب را بارگذاری می کند باید تمام فایل های وب را بارگیری کند تا صفحه به درستی نمایش داده شود.این فایل ها می توانند شامل فایل های java script, css,html و تصاویر باشد.
برخی از صفحات ممکن است دارای چند فایل کوچک باشد اما برخی دیگر ممکن است فایل های زیادی با حجم های بالا داشته باشند که این فایل های بزرگ جهت لود در صفحه مطمئنا زمان زیادی به طول می انجامد به خصوص اگر سرعت اینترنت شما پایین هم باشد که این مورد را سخت تر هم می کند.
هر فایل جهت لود درخواست جداگانه ای به سرور ارسال می کنند و هرچه این درخواست ها بیشتر شود زمان زیادی از سرور خواهد گرفت و به دنبال آن سرعت لود صفحه کاهش خواهد یافت.
حافظه ی پنهان مرورگر با ذخیره ی برخی از این فایل ها به صورت محلی در مرورگر کاربر به سرعت آن کمک میکند.
در اولین بازدید زمان لود صفحه همان زمان واقعی خواهد بود اما اگر کاربر دوباره وب سایت شما را بازخوانی کند صفحه را رفرش کند و یا حتی به صفحه ی دیگری منتقل شود می تواند از فایل های ذخیره شده ی محلی استفاده کند.
بدین ترتیب تعداد درخواست کمتری به سرور ارسال خواهد شد و سرعت لود صفحه کاهش خواهد یافت.
چطور کار می کند؟
حافظه ی پنهان مرورگر با علامت گذاری صفحات خاص یا قسمت هایی از صفحات که در فواصل مختلف نیاز به آپدیت دارند کار می کند.به عنوان مثال لوگو در سایت شما نیاز به آپدیت روزانه ندارد.با ذخیره ی تصویر می توانید به مروگر اطلاع دهید که هفته ای یکبار ان را بارگذاری کند. به این صورت بازدیدها طی 1 هفته نیاز به بارگذاری ندارند.
ذخیره ی فایل ها و پرونده ها در مروگر موجب صرفه جویی در وقت کاربران و پهنای باند سرور خواهند شد.
چرا اهمیت دارد؟
دلیل اصلی مهم بودن browser caching کاهش بار وب سرور است که در نهایت منجر به کاهش زمان لود صفحات برای کاربران خواهد بود.
نحوه ی استفاده از حافظه ی پنهان مرورگر
برای فعال کردن browser caching باید هدرهای http خود را برای مشخص شدن زمان انقضای انواع فایل ها ویرایش کنیم.
کانفیگ آپاچی جهت سرویس هدرهای مناسب
فایل .htaccess را در root جستجو کرده این فایل یک فایل پنهان است اما از طریق ftp client یا core باید دیده شود. این فایل با برنامه ی notepade یا هر برنامه ای بر پایه ی text قابل ویرایش است.
<IfModule mod_expires.c>
ExpiresActive On
# Images
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# Video
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/mpeg "access plus 1 year"
# CSS, JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# Others
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>
در این فایل پارامترهای حافظه ی پنهان تنظیم می شود و به مرورگر اطلاع می دهید که چه مدت زمانی فایل ها در حاقظه ی پنهان ذخیره شود. بسته به فایل های سایت خود می توانید تاریخ انقضاهای متفاوتی را تنظیم نمایید. برای مثال نوع خاصی از فایل ها ممکن است نیاز به آپدیت بیشتری داشته باشد. برای این قبیل موارد معمولا تاریخ اکسپایر را زود تر قرار می دهند . پس از اتمام کار فایل را save نمایید.
توصیه ها
تنظیمات کش را برای منابع استاتیک خود استفاده نمایید.
تاریخ انقضای آپدیت حداقل 1 ماه باشد(توصیه می شود زمان دسترسی 1 ساله باشد)
آپدیت حافظه ی پنهان را بیش از 1 سال تنظیم نکنید.
در فعال بودن حافظه ی پنهان مراقب باشید به عنوان مثال اگر پارامترها بیش از حد برای فایل ها تنظیم شود, ممکن است حتی بعد از بروزرسانی هم کاربران نسخه ی تازه ی سایت را دریافت نکنند.