حافظه کش مرورگر چیست؟چگونه از حافظه کش مرورگرها جهت افزایش لود صفحات سایت برای کاربران استفاده نماییم؟ چه کدهایی را باید در کدام قسمت صفحات وب استفاده نماییم تا فایل هایHTML، javascript و تصاویر فقط یک بار لود شود؟ این کدها برای asp.net و php به چه شکلی می باشد.
افزایش سرعت بارگزاری صفحات بوسیله ذخیره فایلهای پر استفاده بر روی مرورگر کاربران را حافظه کش مرورگر Browser Caching مینامیم. هر بار که مرورگر شما صفحهای را لود میکند تمامی فایلهای موجود در آن صفحه را نیز دانلود میکند که شامل فایلهایCSS، HTML، javascript و تصاویر میشود. بعضی از صفحات فایلهای کمی در خود دارند و حجم آنها از چندین کیلوبایت تجاوز نمیکند، ولی صفحاتی هستند که با توجه به محتوای خود فایلهای زیادی را شامل میشوند و ممکن است تا چندین مگابایت از پهنای باند را مصرف کنند، بطور مثال حجم سایتTwitter.com بیش از 2 مگابایت است. استفاده از حافظه کش مرورگر راهی برای مقابله با این مشکل است. به دو نکته زیر توجه نمایید:
- بعضی از فایل ها به دلیل حجمی که دارند سرعت دانلود زیادی نیاز دارند. این موضوع اگر شما دارای اینترنتی باشید که سرعت پایینی داشته باشد بسیار کسل کننده می باشد.
- هر فایل به صورت کاملا مجزا یک درخواست جداگانه به سمت سرور ارسال میکند که این موضوع نیز باعث کاهش سرعت سایت شما و فشار به سرور می شود.

با استفاده از حافظه کش مرورگر میتوانید بعضی از این فایلها را بر روی مرورگر کاربران ذخیره کنید. اولین بازدید کاربران از سایت شما به اندازه واقعی از آنها زمان میگیرد ولی زمانیکه برای بار دوم به سایت شما مراجعه میکنندیا از صفحهای به صفحه دیگر میروندبخش زیادی از فایلها را در حافظه کش مرورگر خود دارند. در نتیجه حجم فایلهای دانلودی توسط مرورگر و تعداد درخواستهای ارسالی به سرور شما کاهش مییابد که موجب افزایش سرعت بارگذاری سایت شما میگردد.
مهمترین اصل و دلیل اساسی برای استفاده از حافظه کش مرورگر Browser Cachingکاهش سرعت بارگذاری صفحات سایت و جلب رضایت بازدیدکنندگان است.
دلیل اصلی استفاده از این ابزار کاهش سرعت بارگذاری صفحات سایت و جلب رضایت بازدیدکنندگان است. علاوه بر این استفاده از حافظه کش مرورگر امتیاز بیشتری برای شما در سایتهایی مانند Google page speed و GTmetrix به همراه خواهد داشت. امروزه سرعت بارگذاری صفحات سایت فاکتور مهمی در سئو محسوب شده و گوگل رتبههای بهتری را در صفحه نتایج جستجوی خود به سایتهای سبکتر خواهد داد.

چگونه از حافظه کش مرورگر برای زبان های برنامه نویسی مختلف استفاده نماییم؟
1.نحوه استفاده از حافظه کش مرورگر جهت افزایش سرعت بارگزاری صفحات در php و وردپرس:
برای فعال کردن حافظه کش مرورگر باید فایلهای هدر HTTP خود را تغییر داده و برای فایلهای خود تاریخ انقضا تعریف کنید.
در هاست های لینوکس فایلی وجود دارد در ریشه سایت به نام فایلhtaccess با تنظیمات این فایل به شرح زیر میتوانید حافظه کش مرورگر خود را مدیریت نمایید. دقت شود هاست لینوکس برای سایت های با کدنویسی پایه php می باشد. وردپرس نیز چنین فایلی را دارا می باشد.
فایلhtaccess. خود را در ریشه اصلیهاست پیدا کنید، شما میتوانید آن را به وسیله نوت پد یا هر ویرایشگر متن دیگری تغییر دهید. در این فایل پارامترها را بگونهای معرفی میکنیم که مرورگر تشخیص دهد چه فایلهایی را و تا چه مدت در حافظه کش خود نگه دارد.
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType text/x-javascript “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresByType image/x-icon “access 1 year”
ExpiresDefault “access 2 days”
## EXPIRES CACHING ##
با توجه به نوع فایل و زمان تغییر در آن میتوانید تاریخ انقضا را مشخص کنید، برای فایلهایی که بیشتر آپدیت و تغییر دارند تاریخ انقضای کمتری در نظر بگیرید.
پیشنهاد میشود که تاریخ تعیین شده را بیشتر از یک سال و کمتر از یک ماه قرار ندهید، مگر برای فایلهای خاص با تغییرات هفتگی.
2.نحوه استفاده از حافظه کش مرورگر جهت افزایش سرعت بارگزاری صفحات در asp.net:
<configuration>
<configSections>
<sectionGroupname="SoftwareArchitects">
<sectionname="Caching"requirePermission="false"
type="SoftwareArchitects.Web.Configuration.CachingSection,
SoftwareArchitects.Web.CachingHandler"/>
</sectionGroup>
</configSections>
<SoftwareArchitects>
<CachingCachingTimeSpan="1">
<FileExtensions>
<addExtension="gif"ContentType="image\gif"/>
<addExtension="jpg"ContentType="image\jpeg"/>
<addExtension="png"ContentType="image\png"/>
</FileExtensions>
</Caching>
</SoftwareArchitects>
</configuration>
وب مک ، تعالی بخش برند شماست