ورود کاربران

نام کاربری:     کلمه عبور:  
  مرا به یاد داشته باش

رمز عبور خود را فراموش کرده اید؟

ایمیل (نام کاربری):     کلمه عبور به ایمیل شما ارسال خواهد شد.
  گزارش ارزیابی سایت

سرعت بارگذاری : بهبود Caching (کش) مرورگر

بازگشت به لیست
خلاصه ای از دستورالعمل
نـوع عملیـات : سرور
اولویت انجـام : بالا
سختی اجراء : متوسط
متوسط امتیاز : 44%
مرور دستورالعمل مشخص نمودن یک تاریخ انقضا و یا مشخص نمودن حداکثر طول عمر در بخش هدرهای 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 شدن خود بکار ببرید.



نظرات و پیشنهادات لطفا دیدگاه های خود را در ارتباط با مطلب فوق با ما در میان بگذارید.
ایمیل شما
 
موضوع
نظر / پیشنهاد
 
لطفاً کد موجود در تصویر راوارد کنید

 
نکات مهم
fiogf49gjkf0d

Caching  رابشدت بر روی تمامی منابع اعمال کنید

برای تمامی منابع قابل Cache شدن ، ما انجام کارهای زیر را توصیه می کنیم :

خاصیت Expires را برروی حداقل 1 ماه تنظیم کنید و ترجیحاً درآینده در صورت امکان تا 1 سال تنظیم نمائید.

(ما استفاده از Expires را به استفاده از  cache-control :max-age ترجیح می دهیم چرا که در سرورها بیشتر مورد پشتیبانی قرار می گیرد )

خاصیت Expires را برای بیش از 1 سال تنظیم ننمائید.

 تاریخ Last-Modified  را بر روی آخرین باری که منابع عوض شده است ، تنظیم نمائید.

استفاده از خاصیت اثر انگشت جهت فعال سازی Caching

برای منابعی که گهگاه تغییر می یابند تا زمانی که بر روی سرور تغییر نیافته اند و سرور به مرورگر اعلام ننموده است که فایل جدیدی وجود دارد ، شما می توانید آنها را از روی Cache بارگذاری نمایید . شما می توانید این کار را با تعبیه یک اثر انگشت از منبع خود در URL آن ، انجام دهید (بعنوان مثال یک File path )

خاصیت vary را بطور صحیح برای اینترنت اکسپلورر تنظیم نمائید

IE منابعی را که داخل Header Varyباشند را Cache نمی نماید اما خواص Encoding و User –Agent را می پذیرد . برای اطمینان از Cache شدن این منابع توسط IE ، اطمینان حاصل کنید که منابعی که می خواهید Cache شوند داخل Header Vary وجود نداشته باشد.

از ماهیت   Cache-control: Public Directive  برای فعال سازی Cache شدن HTTPS برای FireFox اسفاده نمائید.

 برخی از نسخه های فایرفاکس جهت Cache نمودن منابعی که بر روی SSL ارسال می گردند نیازمند تنظیم Header Cache-control: Public می باشند . حتی اگر سایر تنظیمات مربوط به Cache شدن انجام یافته باشد . اگر چه این دستور غالباً برای فعال سازی خاصیت Cache شدن Proxy Server  استفاده می شود . Proxy ها نمی توانند منابعی را که بر روی HTTPS ارسال می گردند را Cache نمایند . پس همواره تنظیم این Header برای منابع HTTPS مفید خواهد بود.

آخرین مطالب کلیک تولز را در Linked in دنبال کنید




عضویت در خبرنامه