כיצד למנוע אחסון במטמון ב-Internet Explorer

תרגומי מאמרים תרגומי מאמרים
Article ID: 234067 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

תקציר

מאמר זה מתאר את השימוש בכותרות HTTP לשליטה על אחסון דפי אינטרנט במטמון ב-Internet Explorer.

באפשרותך להשתמש ב-Microsoft Internet Information Server ?(IIS) כדי לסמן בקלות דפים נדיפים או רגישים במיוחד באמצעות הוספת ה-script שלהלן לפני כל דפי Active Server Pages ?(ASP) הספציפיים:
??
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

מידע נוסף

תפוגה והכותרת Expires (תאריך תפוגה)

מומלץ ביותר להשתמש בערכה עבור תפוגת כל דפי האינטרנט, בכל שרתי האינטרנט. מאד לא מומלץ ששרת אינטרנט לא יספק פרטי תפוגה דרך כותרת Expires (תאריך תפוגה) של תגובת HTTP עבור כל משאב המוחזר ללקוחות הפונים בבקשה. היום מרבית הדפדפנים ושרתי proxy המתווכים מכבדים את פרטי התפוגה האלה ומשתמשים בהם להגברת יעילות התקשורת ברשת.

יש להשתמש תמיד בכותרת Expires (תאריך תפוגה) כדי לציין את הזמן הסביר ביותר בו על הלקוח לעדכן קובץ מסוים בשרת. כאשר מתבצע עדכון שוטף של דפים, התגובה היעילה ביותר היא תקופת העדכון הבאה. לדוגמה, נניח שמדובר בדף חדשות יומי באינטרנט שמעודכן כל יום בשעה 5:00. שרת האינטרנט של דף החדשות אמור להחזיר כותרת Expires עם הערך 5:00 ביום המחרת. במצב כזה, הדפדפן נדרש ליצור שוב קשר עם שרת האינטרנט רק כאשר הדף משתנה בפועל.

דפים שלא צפויים להשתנות יש לסמן בתאריך תפוגה של כשנה.

במקרים רבים, קיים בשרתי אינטרנט דף נדיף אחד או יותר בשרת שמכיל מידע האמור להשתנות באופן מיידי. על השרת לסמן את הדפים ככאלה באמצעות כותרת Expires שערכה "?-1". בבקשות עתידיות של המשתמש, Internet Explorer בדרך כלל פונה לשרת האינטרנט לקבלת עדכונים עבור הדף, באמצעות בקשה מותנית מסוג If-Modified-Since (אם שונה מאז). עם זאת, הדף נשאר במטמון הדיסק ("Temporary Internet Files" - קבצי אינטרנט זמניים) ונעשה בו שימוש במצבים המתאימים ללא פניה לשרת האינטרנט המרוחק, לדוגמה בעת הגישה להיסטוריית הניווט בעזרת לחצני 'הקודם' ו'הבא', או כאשר הדפדפן במצב לא מקוון.

הכותרת Cache-Control

אולם דפים מסוימים כה נדיפים או רגישים עד שאינם דורשים אחסון במטמון בדיסק. לשם כך, Internet Explorer תומך בכותרת Cache-Control של HTTP 1.1, שמונעת כל אחסון במטמון של משאב אינטרנט מסוים כאשר הערך no-cache צוין על ידי שרת HTTP 1.1.

כיוון שדפים שנשמרים מחוץ למטמון אינם נגישים עד שלדפדפן יש אפשרות להתקשר מחדש לשרת האינטרנט, על השרתים למעט בשימוש בכותרת Cache-Control. במרבית המקרים עדיף להשתמש בכותרת "Expires: -1".

הכותרת Pragma: No-Cache

למרבה הצער, לשרתי HTTP 1.0 מדור קודם אין אפשרות להשתמש בכותרת Cache-Control. למטרות תאימות לאחור עם שרתי HTTP 1.0,? Internet Explorer תומך בשימוש מיוחד בכותרת Pragma: No-Cache של HTTP. אם הלקוח מתקשר עם השרת דרך חיבור מאובטח (https://?) והשרת מחזיר עם התגובה את הכותרת Pragma: No-Cache,? Internet Explorer לא מאחסן את התגובה במטמון.

אולם שים לב שהכותרת Pragma: No-Cache לא נועדה למטרה זו. לפי מפרטי HTTP 1.0 ו-1.1, כותרת זו מוגדרת אך ורק בהקשר של בקשה ולא בהקשר של תגובה ומיועדת למעשה עבור שרתי proxy שעלולים למנוע את הגעתן של בקשות חשובות מסוימות לשרת האינטרנט המשמש כיעד. ביישומים עתידיים, הכותרת Cache-Control היא האמצעי הנכון לבקרת אחסון במטמון.

מטה-תגים מסוג HTTP-EQUIV

דפי HTML מאפשרים צורה מיוחדת של מטה-תגים מסוג HTTP-EQUIV שמציינת כותרות 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 מונע אחסון במטמון רק כאשר משתמשים בו בחיבור מאובטח. הטיפול במטה-תג מסוג Pragma: no-cache זהה לטיפול ב-Expires?: -1 אם נעשה בו שימוש בדף לא מאובטח. דף זה יאוחסן במטמון אבל יסומן כדף שתפוגתו מיידית.

בגירסאות 4 או 5 של Internet Explorer, המערכת מתעלמת ממטה-תגי Cache-Control מסוג HTTP-EQUIV ואין להם השפעה. על מנת להשתמש ב-Cache-Control יש לציין כותרת זו באמצעות כותרות HTTP כמתואר בסעיף Cache-Control לעיל.

שים לב שהשימוש בכותרות HTTP סטנדרטיות עדיף בהרבה על השימוש במטה-תגים. מטה-תגים בדרך כלל צריכים להופיע בראש המקטע HEAD של HTML. קיימת לפחות בעיה מוכרת אחת במטה-תג Pragma HTTP-EQUIV. לקבלת מידע נוסף, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:
222064 התג "Pragma: No-cache" לא תמיד מונע את אחסון הדף במטמון (ייתכן שקישור זה מפנה לתוכן שחלק ממנו או כולו מופיע באנגלית)

אפשרויות שרתים לאחסון במטמון

כאשר יש צורך להשתמש בכותרת Cache-Control בדפים שאינם דפי ASP, ייתכן שיידרש שימוש באפשרויות שבתצורת השרת להוספה אוטומטית של הכותרת. עיין בתיעוד של השרת בנוגע לתהליך ההוספה של כותרות HTTP לתגובות שרתים עבור ספריה מסוימת. לדוגמה, ב-IIS 4, בצע את הפעולות הבאות:
  • הפעל את מנהל שירותי האינטרנט.
  • באמצעות עץ המחשב והשירותים, פתח את שרת האינטרנט שנקבע כברירת מחדל (או את שרת האינטרנט בו מדובר) וחפש את הספריה שמכילה את התוכן שעבורו דרושה הכותרת Cache-Control.
  • הצג את תיבת הדו-שיח 'מאפיינים' של הספריה.
  • בחר בכרטיסיה HTTP Headers (כותרות HTTP).
  • לחץ על הלחצן 'הוספה' בקבוצה Custom HTTP Headers (כותרות 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 מופעל בשרת האינטרנט שלך ומחזיר ל-Internet Explorer תגובות של HTTP 1.1? כותרות Cache-Control אינן חוקיות בתגובות של HTTP 1.0.
  • אם אתה משתמש ב-CGI/ISAPI/Servlets בצד השרת, האם אתה פועל בדיוק לפי מפרט HTTP 1.1, במיוחד בכל הנוגע לסיום CRLF של כותרות HTTP? לטובת הביצועים, Internet Explorer בדרך כלל לא מוכן בשום אופן לקבל תגובות שמפרות את מפרט HTTP 1.1. בדרך כלל זה גורם להתעלמות מכותרות או דוחות של שגיאות שרתים לא צפויות.
  • האם כותרות ה-HTTP מאויתות כהלכה?

מידע נוסף

לקבלת מידע נוסף, לחץ על מספרי המאמרים שלהלן כדי להציגם מתוך מאגר הידע Microsoft Knowledge Base:
189409 שליטה על האחסון במטמון של דפי אינטרנט עם IIS 4.0 (ייתכן שקישור זה מפנה לתוכן שחלק ממנו או כולו מופיע באנגלית)
165150 כיצד להשתמש ב-Pragma: No-cache עם IIS ועם IE (ייתכן שקישור זה מפנה לתוכן שחלק ממנו או כולו מופיע באנגלית)
לקבלת מידע נוסף על HTTP/1.1, בקר באתר האינטרנט הבא על מנת להשיג את RFC 2616:
http://www.w3.org/Protocols/rfc2616/rfc2616.html

מאפיינים

Article ID: 234067 - Last Review: יום רביעי 01 אוגוסט 2007 - Revision: 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