วิธีการป้องกันการแคใน Internet Explorer

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 234067 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายการใช้ส่วนหัว HTTP ในการควบคุมการแคชหน้าเว็บใน Internet Explorer

คุณสามารถใช้ Server ข้อมูลทางอินเทอร์เน็ตของ Microsoft (IIS) เพื่อขอ volatile หรือสำคัญเพจต่าง ๆ ที่ใช้สคริปต์ต่อไปนี้ในตอนต้นจึงหน้า Active Server หน้า (ASP) เฉพาะที่ทำเครื่องหมายได้อย่างง่ายดาย:
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

ข้อมูลเพิ่มเติม

หมดอายุและหัวข้อที่หมดอายุ

ขอแนะนำให้ เว็บเซิร์ฟเวอร์ทั้งหมดใช้โครงร่างสำหรับการหมดอายุของเว็บเพจที่ทั้งหมด การฝึกไม่ถูกต้องของเว็บเซิร์ฟเวอร์ไม่ให้ใส่ข้อมูลการหมดอายุผ่านหัวตอบสนอง HTTP ที่หมดอายุสำหรับทรัพยากรทั้งหมดที่ส่งกลับไปยังไคลเอนต์ที่ร้องขอได้ เบราว์เซอร์ส่วนใหญ่และ proxies กลางวันนี้เคารพข้อมูลนี้หมดอายุ และใช้ในการเพิ่มประสิทธิภาพในการสื่อสารผ่านเครือข่าย

ส่วนหัวของ Expires ควรจะใช้เพื่อระบุเวลาเหมาะสมที่สุดเมื่อแฟ้มเฉพาะบนเซิร์ฟเวอร์ที่จำเป็นต้องปรับปรุง โดยไคลเอ็นต์เสมอ เมื่อเพจที่มีการปรับปรุงอยู่เสมอ รอบระยะเวลาถัดไปสำหรับการปรับปรุงมีการตอบสนองที่มีประสิทธิภาพมากที่สุด ใช้ ตัวอย่างเช่น หน้าข่าวสารประจำวันบนอินเทอร์เน็ตที่มีการปรับปรุงทุกวันเวลา 5 น. เว็บเซิร์ฟเวอร์สำหรับเพจนี้ข่าวควรกลับหัว Expires ที่ มีค่าสำหรับน. 5 วันถัดไป เมื่อซึ่งจะดำเนินการ เบราว์เซอร์ที่ไม่จำเป็นต้องติดต่อเว็บเซิร์ฟเวอร์อีกจนกว่าจะมีการเปลี่ยนแปลงหน้าจริง

เพจที่ไม่ได้ต้องมีการเปลี่ยนแปลงจะถูกทำเครื่องหมาย ด้วยวันหมดอายุของประมาณหนึ่งปี

ในหลายกรณี เว็บเซิร์ฟเวอร์ได้มากกว่า หนึ่ง volatile หน้าบนเซิร์ฟเวอร์ที่ประกอบด้วยรายละเอียด ซึ่งอาจมีการเปลี่ยนแปลงทันที ทำเครื่องหมายเพจเหล่านี้ควรเป็นดังนั้นไว้ โดยเซิร์ฟเวอร์ที่มีค่าเป็น "-1" สำหรับหัวข้อการ Expires ในการร้องขอในอนาคตโดยผู้ใช้ Internet Explorer โดยปกติติดเว็บเซิร์ฟเวอร์การปรับปรุงเพจนั้นผ่านทางคำแบบตามเงื่อนไขถ้าแบบปรับเปลี่ยนตั้งแต่ขอ อย่างไรก็ตาม หน้ายังคงอยู่ในแคช ("อินเทอร์เน็ตแฟ้มชั่วคราว") ของดิสก์ และถูกใช้ในสถานการณ์ที่เหมาะสม โดยไม่มีการติดต่อเว็บเซิร์ฟเวอร์ระยะไกล เช่นเมื่อ BACK และปุ่มไปข้างหน้าจะใช้ในการเข้าถึงประวัติการนำทางหรือเมื่อเบราว์เซอร์อยู่ในโหมดออฟไลน์

หัวข้อการควบคุมแคช

บางหน้า อย่างไรก็ตาม เป็นดังนั้น volatile หรือมีความเสี่ยงว่า พวกเขาต้องใช้ดิสก์ไม่มีแคช เมื่อต้องการสิ้นสุดนี้ Internet Explorer สนับสนุนส่วนหัว HTTP 1.1 แคควบคุม ที่ป้องกันทั้งหมดแคของทรัพยากรเว็บเฉพาะเมื่อมีระบุค่าแคชที่ไม่มีเซิร์ฟเวอร์ HTTP 1.1

เนื่องจากเพจที่เก็บไว้ออกจากแคชหรือไม่สามารถเข้าถึงได้จนกว่าเบราว์เซอร์สามารถ re-contact เว็บเซิร์ฟเวอร์ เซิร์ฟเวอร์ควรใช้ส่วนหัวของตัวควบคุมในแคช sparingly ในกรณีส่วนใหญ่ การใช้ " Expires: -1 " เป็นที่ต้องการ

Pragma: หัวข้อการแคชไม่ใช่

แต่ เซิร์ฟเวอร์ HTTP 1.0 ดั้งเดิมไม่สามารถใช้ส่วนหัวของตัวควบคุมในแคช สำหรับวัตถุประสงค์ด้านความเข้ากันได้ย้อนหลังกับเซิร์ฟเวอร์ HTTP 1.0, Internet Explorer สนับสนุนการใช้งานพิเศษของ Pragma HTTP: หัวข้อการแคชไม่ ถ้าไคลเอ็นต์การสื่อสารกับเซิร์ฟเวอร์ผ่านการเชื่อมต่อที่ปลอดภัย (https://) และเซิร์ฟเวอร์ส่งกลับเป็น Pragma: หัวข้อการแคชไม่ มีการตอบสนอง Internet Explorer แคชการตอบสนองไม่

หมายเหตุ อย่างไรก็ตาม ที่ Pragma: หัวข้อการแคชไม่ไม่ได้ถูกมีไว้สำหรับการนี้ ตามการ HTTP 1.0 และข้อมูลจำเพาะ 1.1 หัวข้อนี้ถูกกำหนดในบริบทของการร้องขอเท่านั้น ไม่การตอบรับ และมุ่งจริงสำหรับพร็อกซีเซิร์ฟเวอร์ซึ่งอาจป้องกันไม่ให้ร้องขอที่สำคัญบาง reaching เว็บเซิร์ฟเวอร์ปลายทาง สำหรับโปรแกรมประยุกต์ในอนาคต ส่วนหัวของตัวควบคุมในแคชจะหมายถึงที่เหมาะสมสำหรับการควบคุมการแคช

แท็ก META EQUIV http

เพจ html ที่อนุญาตสำหรับฟอร์ม EQUIV HTTP พิเศษของแท็ก META ที่ระบุเฉพาะ HTTP หัวจากภายในเอกสาร HTML นี่คือตัวอย่างย่อ HTML เพจที่ใช้ Pragma ทั้ง: ไม่มีแคชและ Expires: -1:
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>
				
Pragma: แคไม่ป้องกันการแคเมื่อใช้ผ่านการเชื่อมต่อที่ปลอดภัยเท่านั้น Pragma: แท็ก META แคไม่มีอยู่ให้ตรงกับ Expires: -1 ถ้าใช้ในหน้าที่ที่ไม่ปลอดภัย เพจนี้จะเป็นแค แต่ทำเครื่องหมายเป็นวันที่หมดอายุในทันที

ตัวควบคุมแค META HTTP-EQUIV แท็กถูกละเว้น และมีการไม่มีผลใน Internet Explorer รุ่น 4 หรือ 5 เมื่อต้องการใช้แคชควบคุมส่วนหัวนี้ต้องระบุโดยใช้ส่วนหัว HTTP ตามที่อธิบายไว้ในส่วนควบคุมแคข้างต้น

โปรดสังเกตว่า การใช้ส่วนหัว HTTP มาตรฐานมากที่ต้องผ่าน META แท็ก META tags typically must appear at the top of the HTML HEAD section. And there is at least one known problem with the Pragma HTTP-EQUIV META tag.สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
222064"Pragma: No-cache" tag may not prevent page from being cached

Server Options for Caching

When the Cache-Control header needs to be used on non-ASP pages, it may be necessary to use options in the server configuration to add this header automatically. Refer to your server documentation for the process of adding HTTP headers to server responses for a particular directory. For example, in IIS 4, follow these steps:
  • Invoke the Internet Services Manager.
  • Using the computer and services tree, open the Default Web Server (or web server in question) and find the directory containing the content that needs the Cache-Control header.
  • Bring up the Properties dialog for that directory.
  • Choose the HTTP Headers tab.
  • Click the Add button in the Custom HTTP Headers group and add "Cache-Control" for the header name and "no-cache" for the header value.
Remember that it is not a good idea to use this header globally across the entire Web server. Restrict its use purely to content that absolutely must not be cached on the client. Problem Checklist If you've applied the techniques in this article and you are still having problems with caching and Internet Explorer, please review this handy checklist step by step before contacting Microsoft for technical support assistance:
  • Are you using the Cache-Control header with the ASP "Response.CacheControl" property or through a returned HTTP header? This is the only way to truly prevent caching in Internet Explorer.
  • Are you using Internet Explorer 4.01 Service Pack 2 or higher? There is no way to completely prevent caching in earlier versions of the browser.
  • Have you double-checked that your web server has HTTP 1.1 turned on and is returning HTTP 1.1 responses to Internet Explorer? Cache-Control headers are invalid in HTTP 1.0 responses.
  • If you're using CGI/ISAPI/Servlets on the server side, are you following the HTTP 1.1 specification exactly, particularly in respect to CRLF termination of HTTP headers? In the interest of performance, Internet Explorer is typically unforgiving of responses that violate the HTTP 1.1 specification. This usually results in ignored headers or reports of unexpected server errors.
  • Are the HTTP headers spelled correctly?

ข้อมูลอ้างอิง

165150How to use Pragma: No-cache with IIS and IE
For more information about HTTP/1.1, visit the following Web site to obtain RFC 2616:
http://www.w3.org/Protocols/rfc2616/rfc2616.html

คุณสมบัติ

หมายเลขบทความ (Article ID): 234067 - รีวิวครั้งสุดท้าย: 22 กันยายน 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 6.0
Keywords: 
kbcaching kbfaq kbhowto kbmt KB234067 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:234067

ให้ข้อเสนอแนะ

 

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