هل هناك طريقة لمسح متصفح المستخدم من صفحتي، أو عدم استخدام ذاكرة التخزين المؤقت؟

StackOverflow https://stackoverflow.com/questions/115720

  •  02-07-2019
  •  | 
  •  

سؤال

هل هناك أمر في ASP الكلاسيكي يمكنني استخدامه لإخبار المتصفح بعدم سحب الصفحة من ذاكرة التخزين المؤقت الخاصة به، أو عدم تخزين ذاكرة التخزين المؤقت أو مسح ذاكرة التخزين المؤقت لصفحتي؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام علامات تعريف HTML:

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="Fri, 01 Jan 1999 1:00:00 GMT" />
<meta http-equiv="Last-Modified" content="0" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />

أو يمكنك استخدام رؤوس استجابة ASP:

<% 
   Response.CacheControl = "no-cache"
   Response.AddHeader "Pragma", "no-cache"
   Response.Expires = -1
%>

نصائح أخرى

ليس له علاقة بـ ASP، هذا سؤال HTTP.يمكنك القيام بذلك عن طريق تعديل بعض جوانب التخزين المؤقت لـ http مثل Cache-Control وetag وExpires وما إلى ذلك.يقرأ RFC2616 خصوصاً التخزين المؤقت في HTTP وتعيين الرأس المناسب.

تجاهل كل من يطلب منك أن تستخدمه <meta> العناصر أو Pragma.إنهم غير موثوقين للغاية.تحتاج إلى تعيين رؤوس HTTP المناسبة.يتوفر برنامج تعليمي جيد حول كيفية تحديد رؤوس HTTP المناسبة لك هنا. Cache-Control: no-cache ربما يكون هذا هو كل ما تحتاجه، ولكن اقرأ البرنامج التعليمي حيث أن هناك العديد من الأسباب الخاصة بالمشروع التي قد تجعلك ترغب في شيء مختلف.

إذا وضعت

Response.Expires = -1

في صفحة ASP الكلاسيكية الخاصة بك، ستوجه المتصفح إلى عدم تخزين المحتويات مؤقتًا.إذا قام المستخدم بالنقر فوق "رجوع" أو انتقل إلى الصفحة بطريقة أخرى، فسيقوم المتصفح بتحديث الصفحة من الخادم.

يمكن القيام بذلك عن طريق التأكد من تعيين القيم الصحيحة لـ Reponse.cachecontrol وresponse.expires وما إلى ذلك وفقًا لاحتياجاتك.قد يكون هذا الرابط مفيدًا في فهم ما يقصدونه. http://aspjavascript.com/lesson07.asp

نظرًا للطريقة التي تتعامل بها المتصفحات المختلفة مع التخزين المؤقت، يجب استخدام الأمرين Expires وno-cache.هنا شرط تبين الطريقة الصحيحة للقيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top