كيفية منع التخزين المؤقت في برنامج Internet Explorer‏

ترجمات الموضوعات ترجمات الموضوعات
معرف المقالة: 234067 - عرض المنتجات التي تنطبق عليها هذه المقالة.
توسيع الكل | طي الكل

في هذه الصفحة

الموجز

تتناول هذه المقالة استخدام رؤوس HTTP للتحكم في التخزين المؤقت لصفحات الويب في برنامج Internet Explorer.

يمكنك استخدام Microsoft Internet Information Server ‏(IIS) لتسهيل وضع علامة على الصفحات الحساسة أو التي تتغير بشكل مستمر باستخدام البرنامج النصي التالي في بداية صفحات Active Server ‏(ASP) المحددة:
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

معلومات أخرى

انتهاء الصلاحية والرأس Expires (انتهاء الصلاحية)

يوصى بشدة بأن تستخدم كافة ملقمات الويب نظامًا لانتهاء صلاحية كافة صفحات الويب. يعد عدم قيام ملقم الويب بتقديم معلومات انتهاء الصلاحية من خلال استجابة رأس HTTP Expires (انتهاء الصلاحية) لكل مورد تم إرجاعه إلى الأجهزة العميلة التي تطلب هذه المعلومات إجراءً سيئًا. تراعي معظم مستعرضات الويب والوكلاء المتوسطين اليوم معلومات انتهاء الصلاحية هذه وتستخدمها لزيادة كفاءة الاتصالات عبر الشبكة.

يجب استخدام رأس Expires (انتهاء الصلاحية) دائمًا لتحديد أنسب وقت يلزم فيه تحديث ملف معين على الملقم بواسطة العميل. عندما يتم تحديث الصفحات بانتظام، تكون الاستجابة في الفترة التالية للتحديث هي الأكثر كفاءة. فلنأخذ صفحة الأخبار اليومية على الإنترنت والتي يتم تحديثها يوميًا في الساعة ٥ صباحًا كمثال. يجب أن يقوم ملقم الويب المخزن عليه صفحة الأخبار هذه بإرجاع رأس Expires (انتهاء الصلاحية) بقيمة الساعة ٥ صباحًا في اليوم التالي. عند القيام بهذا، لا يحتاج مستعرض الويب إلى الاتصال بملقم الويب مرة أخرى حتى يتم تغيير الصفحة بالفعل.

يجب وضع علامة بتاريخ انتهاء صلاحية لمدة عام واحد تقريبًا للصفحات التي ليس من المتوقع تغييرها.

في كثير من الحالات، يوجد على ملقمات الويب صفحة واحدة أو أكثر من الصفحات المتغيرة على ملقم يحتوي على معلومات خاضعة للتغيير مباشرة. يجب وضع علامات لهذه الصفحات بواسطة الملقم بقيمة "-١" للرأس Expires (انتهاء الصلاحية). بناءً على الطلبات المستقبلية بواسطة المستخدم، يتصل Internet Explorer عادةً بملقم الويب للحصول على تحديثات لهذه الصفحة من خلال طلب If-Modified-Since شرطي. على الرغم من ذلك، تظل الصفحة في ذاكرة التخزين المؤقت للقرص ("ملفات إنترنت المؤقتة") ويتم استخدامها في المواقف الملائمة بدون الاتصال بملقم الويب البعيد، مثلما هو الحال عند استخدام زري "الخلف" و"للأمام" للوصول إلى محفوظات التنقل أو عندما يكون مستعرض الويب في الوضع دون اتصال.

رأس Cache-Control (التحكم في التخزين المؤقت)

على الرغم من ذلك، تكون هناك صفحات معينة دائمة التغيّر أو حساسة بحيث لا تتطلب تخزينًا مؤقتًا على القرص. ولذلك، يدعم برنامج Internet Explorer الرأس HTTP 1.1 Cache-Control (التحكم في التخزين المؤقت)، مما يمنع كافة عمليات التخزين المؤقت لمورد ويب معين عند تحديد قيمة no-cache (منع التخزين المؤقت) بواسطة ملقم HTTP 1.1.

نظرًا لأن الصفحات التي يتم الاحتفاظ بها بعيدًا عن التخزين المؤقت لا تكون قابلة للوصول إليها حتى يتمكن مستعرض الويب من إعادة الاتصال بملقم الويب، يجب على الملقمات استخدام رأس Cache-Control (التحكم في التخزين المؤقت) بشكل مقتصد. في معظم الحالات، يكون من المفضل استخدام قيمة "Expires: -١".

الرأس Pragma: الرأس No-Cache (منع التخزين المؤقت)

للأسف، لا يمكن لملقمات HTTP 1.0 القديمة استخدام الرأس Cache-Control (التحكم في التخزين المؤقت). لأغراض توافق الإصدارات السابقة مع ملقمات HTTP 1.0، يدعم برنامج Internet Explorer استخدامًا خاصًا للرأس Pragma HTTP: No-Cache (منع التخزين المؤقت) في حالة اتصال العميل بالملقم عبر اتصال آمن (https://‎) وقيام الملقم بإرجاع رأس Pragma: no-cache (منع التخزين المؤقت) مع الاستجابة، لا يقوم برنامج Internet Explorer بتخزين الاستجابة تخزينًا مؤقتًا.

على الرغم من ذلك، لاحظ أنه لم يتم تصميم الرأس Pragma: no-cache (منع التخزين المؤقت) لهذا الغرض. وفقًا لمواصفات الإصدارين 1.0 و1.1 من البرتوكول HTTP، تم تعريف هذا الرأس في سياق طلب فقط، وليس الاستجابة، وتم تصميمه للملقمات الوكيلة التي قد تمنع طلبات مهمة معينة من الوصول إلى ملقم الويب الوجهة. بالنسبة للتطبيقات المستقبلية، يُعد الرأس Cache-Control (التحكم في التخزين المؤقت) هو الوسيلة الملائمة للتحكم في التخزين المؤقت.

علامات التعريف HTTP-EQUIV META

تسمح صفحات HTML باستخدام أحد النماذج الخاصة من HTTP-EQUIV لعلامة التعريف META التي تحدد رؤوس HTTP معينة من مستند HTML. فيما يلي مثالاً مختصرًا لصفحة HTML التي تستخدم Pragma: no-cache (منع التخزين المؤقت) وExpires: -1:
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>
				
تمنع الرأس Pragma: no-cache التخزين المؤقت في حالة استخدامها عبر اتصال آمن فقط. تتم معاملة علامة تعريف META Pragma: no-cache (منع التخزين المؤقت) بنفس طريقة معاملة Expires: -١ وذلك في حالة استخدامها في صفحة غير آمنة. سيتم تخزين الصفحة مؤقتًا ولكن سيتم وضع علامة لها كصفحة تنتهي صلاحيتها مباشرة.

يتم تجاهل علامات التعريف META HTTP-EQUIV لـ Cache-Control (التحكم في التخزين المؤقت) ولا يكون لها تأثير في الإصدارين 4 و5 من برنامج Internet Explorer. لاستخدام Cache-Control (التحكم في التخزين المؤقت)، يجب تحديد هذه الرأس باستخدام رؤوس HTTP بالشكل الموضح في قسم Cache-Control (التحكم في التخزين المؤقت) أعلاه.

لاحظ أنه يفضل بشدة استخدام رؤوس HTTP القياسية عن استخدام علامات تعريف META. فعادةً يجب أن تظهر علامات تعريف META في بداية القسم HTML HEAD. وتوجد مشكلة واحدة على الأقل معروفة في علامة التعريف Pragma HTTP-EQUIV META. لمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft" (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):
222064 احتمال عدم قيام علامة "Pragma: No-cache" بمنع تخزين الصفحة تخزينًا مؤقتًا

خيارات الملقم للتخزين المؤقت

عندما يلزم استخدام الرأس Cache-Control (التحكم في التخزين المؤقت) على صفحات غير صفحات ASP، قد يكون من الضروري استخدام خيارات في تكوين الملقم لإضافة هذا الرأس تلقائيًا. قم بالرجوع إلى وثائق الملقم للحصول على معلومات حول عملية إضافة رؤوس HTTP إلى استجابات الملقم لدليل معين. على سبيل المثال، في IIS 4، اتبع الخطوات التالية:
  • قم بإجراء استدعاء لـ "إدارة خدمات إنترنت".
  • باستخدام شجرة الخدمات والكمبيوتر، افتح ملقم الويب الافتراضي (أو ملقم الويب المطلوب) وابحث عن الدليل المخزن عليه المحتوى الذي تريد إضافة رأس Cache-Control (التحكم في التخزين المؤقت) إليه.
  • افتح مربع الحوار "خصائص" لهذا الدليل.
  • اختر علامة التبويب "رؤوس HTTP".
  • انقر فوق الزر "إضافة" في مجموعة "رؤوس HTTP المخصصة"، ثم أضف "Cache-Control" لاسم الرأس، و"no-cache" لقيمة الرأس.
تذكر أنه ليس من المستحسن استخدام هذا الرأس بشكل عمومي في ملقم الويب بالكامل. قم بتقييد استخدامه بشكل حاسم للمحتوى الذي يجب ألا يتم مطلقًا تخزينه على العميل مؤقتًا. قائمة التحقق للمشكلة في حالة تطبيق التقنيات الموضحة في هذه المقالة واستمرار وجود مشكلات في التخزين المؤقت وبرنامج Internet Explorer، برجاء مراجعة قائمة التحقق التالية هذه خطوة بخطوة قبل الاتصال بشركة Microsoft للحصول على مساعدة الدعم التقني:
  • هل تستخدم الرأس Cache-Control مع خاصية ASP "Response.CacheControl" أم من خلال رأس HTTP تم إرجاعه؟ هذه هي الطريقة الوحيدة لمنع التخزين المؤقت بالفعل في برنامج Internet Explorer.
  • هل تستخدم برنامج Internet Explorer 4.01 المزود بحزمة الخدمة Service Pack 2 أم إصدارًا أحدث؟ لا توجد وسيلة لمنع التخزين المؤقت تمامًا في الإصدارات السابقة من مستعرض الويب.
  • هل تأكدت من تشغيل HTTP 1.1 على ملقم الويب الخاص بك ومن قيامه بإرجاع استجابات HTTP 1.1 إلى برنامج Internet Explorer؟ فرؤوس Cache-Control (التحكم في التخزين المؤقت) تكون غير صالحة في استجابات HTTP 1.0.
  • إذا كنت تستخدم CGI/ISAPI/Servlets من جانب الملقم، فهل تتبع مواصفات HTTP 1.1 بالضبط، وعلى وجه الخصوص فيما يتعلق بإنهاء CRLF لرؤوس HTTP؟ من أجل تحسين الأداء، لا يتساهل برنامج Internet Explorer عادةً مع الاستجابات التي تنتهك مواصفات HTTP 1.1. وينتج عن هذا عادةً رؤوس تم تجاهلها أو تقارير عن أخطاء ملقم غير متوقعة.
  • هل تمت كتابة رؤوس HTTP إملائيًا بشكل صحيح؟

مراجع

لمزيد من المعلومات، انقر فوق رقمي المقالتين التاليتين لعرضهما في "قاعدة المعارف لـ Microsoft" (قد تحتوي هاتان المقالتان على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):
189409 معلومات: التحكم في التخزين المؤقت لصفحات الويب بواسطة IIS 4.0
165150 كيفية استخدام Pragma: No-cache مع IIS وبرنامج IE
للحصول على مزيد من المعلومات حول HTTP/1.1، قم بزيارة الموقع التالي على الويب للحصول على RFC 2616:
http://www.w3.org/Protocols/rfc2616/rfc2616.html

الخصائص

معرف المقالة: 234067 - تاريخ آخر مراجعة: 18/رجب/1428 - مراجعة: 4.3
تنطبق على
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 6.0 Service Pack 1
كلمات أساسية: 
kbhowto kbcaching kbfaq KB234067

إرسال ملاحظات

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com