بهبود Caching (کش) مرورگر

مرور دستورالعمل

مشخص نمودن یک تاریخ انقضا و یا مشخص نمودن حداکثر طول عمر در بخش هدرهای HTTP ، برای صفحات استاتیک سبب می شود که مرورگرها از منابعی که قبلاً بارگذاری نموده اند استفاده نموده و دوباره آنها را از روی دیسک و یا حافظه سرور بازخوانی نکنند. که استفاده از این روش سبب افزایش سرعت بارگذاری صفحات وب می گردد.

شرح جزئیات

fiogf49gjkf0d

استفاده از caching  بر روی صفحات استاتیک توسط مرورگرها امکانپذیر می باشد. برخی از مرورگرهای جدید ( همانند IE  و Chrome ) از یک روش ابتکاری برای تعیین مدت زمان cache شدن صفحات فاقد cache Header استفاده می کنند.

سایر مرورگرهای قدیمی دارای این قدرت تصمیم گیری نیستند و حتما بایستی صفحه دارای Cache Header باشد تا بتوانند قبل از بارگذاری یک صفحه محتوای آن را از طریق Cache بارگذاری نمایند.

برای استفاده از مزیت های Caching در تمامی مرورگرها ، ما توصیه می کنیم که شما Cache وب سرور را برای تمامی محتوای استاتیک وب سایت خود تنظیم نمائید. محتواهای استاتیک فقط تصاویر نیستند بلکه شامل فایل های جاوا اسکریپت  css, ، فایل های تصاویر و سایر فایل های اشیاء باینری نیز می گردد. (فایل های pdf ، فلش و ...) عموماًHTML  جزء منابع استاتیک محسوب نمی شود و نبایستی آنرا  Cache نمود.

Cache نمودن محتوا با استفاده از Http  Response  Header

“Cache-control” و  “Expires :max-age" : این دستورات " طول عمر " منابع را معین می کنند . یعنی با استفاده از این دستورات به مرورگرها می گوییم که در استفاده از منابع تا چه بازه زمانی می توانند بجای بارگذاری این منابع از روی سرور، آنها را از روی فایل های Cache شده بخوانند. بعد از بازه زمانی مشخص شده ، مرورگر هیچگونه دستور Get  برای دریافت منابع از روی وب سرور صادر نخواهد کرد تا زمانی که بازه زمانی ذکر شده برای Cache شدن منابع منضی شود.

Last-Modified  و Etag : با استفاده از این دستورات مرورگرها ابتدا بررسی می کنند آیا نسخه جدیدی از فایل موردنظر بر روی وب سرور موجود می باشد یا نه . در صورتیکه موجود نبود، فایل را از روی Cache می خوانند ولی در  صورت وجود ، فایل جدید را از روی وب سرور بارگذاری می کنند . در مورد دستور Last-Modified، این دستور همواره حاوی یک تاریخ است . در مورد دستور Etag ، این دستور می تواند شامل هر مقداری باشد که بطور مشخصی یک منبع را معرفی می کند (مثلا ورژن یک فایل )

Last-Modified یک  Cache Headerضعیف می باشد که در آن ، مرورگر از یک روش ابتکرای برای تعیین آنکه یک منبع را از وب سرور بخواند یا از Cache ، استفاده می کند .

بهرحال این Header ها به مرورگرها اجازه میدهند تا بطور موثری منابع Cache شده خود را با صدور دستورات شرطی Get بروزآوری نمایند ( در شرایط که کاربر صفحه وب را بارگذاری مجدد می کند )

درخواست Get که بصورت شرطی صادر می شود سبب پاسخدهی کامل نمی شود بلکه تا زمانی که منابع بر روی سرور تغییر نیابند دستور Get اجرا نمی شود و این سبب کاهش تاخیر در پاسخدهی به کاربر و افزایش سرعت بارگذاری صفحات وب می گردد.

بسیار مهم است که شما در وب سرور خودتان یکی از خاصیت های Cache-control ,Expires :max-age  ویا یکی از خاصیت های Last-Modified  و Etag را در مورد منابع قابل Cache شدن خود بکار ببرید.

این مطلب را به اشتراک بگزارید

نظرات (0)

    تا کنون نظری ثبت نشده است

لطفاً دیدگاه ها و سئوالات خود را برای ما ارسال کنید