Jak v aplikaci Internet Explorer zabránit ukládání do mezipaměti

Překlady článku Překlady článku
ID článku: 234067 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje, jak lze v aplikaci Internet Explorer řídit ukládání webových stránek do mezipaměti pomocí záhlaví HTTP.

Pomocí serveru Microsoft Internet Information Server můžete označit vysoce nestálé nebo citlivé stránky zadáním následujícího skriptu na samý začátek specifických stránek ASP (Active Server Pages):
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

Další informace

Záhlaví Expiration a Expires

Důrazně doporučujeme, aby všechny webové servery používaly na všech webových stránkách schéma pro vypršení platnosti. Webový server by měl poskytovat informace o vypršení platnosti v záhlaví HTTP odpovědi Expires pro každý prostředek vrácený klientům, kteří o něj požádají. Většina prohlížečů a zprostředkujících serverů proxy dnes tyto informace o vypršení platnosti respektuje a využívá je, aby zvýšila efektivitu komunikace v síti.

Pomocí záhlaví Expires by měl vždy být určen nejpříhodnější čas, ve kterém by měl klient aktualizovat určitý soubor na serveru. Jsou-li stránky aktualizovány pravidelně, je nejefektivnějším řešením čas další aktualizace. Vezměme například stránku s denními zprávami na Internetu, která je aktualizována každý den v 5:00. Webový server by měl pro tuto stránku vracet záhlaví Expires s časem 5:00 následujícího dne. Pokud je webový server takto nastaven, nemusí prohlížeč opakovaně kontaktovat webový server, dokud se stránka skutečně nezmění.

Stránky, u kterých není očekávána žádná změna, by měly být označeny datem vypršení platnosti přibližně jeden rok.

V mnoha případech mají webové servery jednu nebo více nestálých stránek na serveru obsahujících informace, které se okamžitě mění. Tyto stránky by tak měly být serverem označeny hodnotou -1 pro záhlaví Expires. Na budoucí požadavky uživatele bude aplikace Internet Explorer obvykle reagovat tím, že bude kontaktovat webový server a žádat o aktualizace dané stránky pomocí podmíněného požadavku If-Modified-Since. Stránka přesto zůstane v diskové mezipaměti (ve složce Temporary Internet Files) a bude použita ve vhodných situacích bez kontaktování webového serveru, například při použití tlačítek ZPĚT a VPŘED pro přístup do historie navigace nebo je-li prohlížeč v režimu offline.

Záhlaví Cache-Control

Určité stránky jsou však tak nestálé nebo citlivé, že vyžadují, aby nebyly ukládány do mezipaměti. Pro tento případ podporuje aplikace Internet Explorer záhlaví HTTP 1.1 Cache-Control, která brání veškerému ukládání konkrétního webového prostředku do mezipaměti v případě, že je serverem HTTP 1.1 určena hodnota no-cache.

Protože stránky, které nepoužívají ukládání do mezipaměti, nejsou dostupné , dokud prohlížeč nebude moci znovu kontaktovat webový server, mělo by být záhlaví Cache-Control používáno jen velice zřídka. Ve většině případů je upřednostňováno použití záhlaví „Expires: -1“.

Záhlaví Pragma: No-Cache

Starší servery HTTP 1.0 nemohou používat záhlaví Cache-Control. Z důvodu zpětné kompatibility se servery HTTP 1.0 podporuje aplikace Internet Explorer zvláštní použití záhlaví HTTP Pragma: no-cache. Pokud klient komunikuje se serverem pomocí zabezpečeného připojení (https://) a server vrátí v odpovědi záhlaví Pragma: no-cache, neuloží aplikace Internet Explorer odpověď do mezipaměti.

Upozorňujeme však, že zamýšlené použití záhlaví Pragma: no-cache je jiné. Podle specifikací protokolů HTTP 1.0 a 1.1 je toto záhlaví definováno pouze v kontextu požadavku, nikoli odpovědi, a je ve skutečnosti určeno pro servery proxy, které mohou určitým důležitým požadavkům zabránit v dosažení cílového webového serveru. Pro budoucí aplikace představuje záhlaví Cache-Control správný prostředek pro řízení ukládání do mezipaměti.

Značky META HTTP-EQUIV

Stránky HTML umožňují zvláštní formu proměnné HTTP-EQUIV značky META, která určuje konkrétní záhlaví HTTP v dokumentu HTML. Uvádíme stručný příklad stránky HTML, která používá jak záhlaví Pragma: no-cache, tak záhlaví Expires: -1:
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>
				
Záhlaví Pragma: no-cache brání ukládání do mezipaměti pouze tehdy, je-li použito v zabezpečeném připojení. Značka META záhlaví Pragma: no-cache je zpracovávána stejně jako značka META záhlaví Expires: -1, je-li použita na nezabezpečené stránce. Stránka bude uložena do mezipaměti, bude ale označena jako stránka s okamžitým vypršením platnosti.

Značky META HTTP-EQUIV záhlaví Cache-Control jsou ignorovány a nemají žádný účinek v aplikaci Internet Explorer verze 4 a 5. Chcete-li použít záhlaví Cache-Control, musí být toto záhlaví určeno pomocí záhlaví HTTP podle popisu ve výše uvedené části týkající se záhlaví Cache-Control.

Poznámka: Použití standardních hlaviček HTTP je mnohem častější než použití značek META. Značky META by se obvykle měly objevit na začátku oddílu HEAD dokumentu HTML. A zde se projevuje nejméně jeden známý problém se značkou META HTTP-EQUIV záhlaví Pragma. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
222064 Značka záhlaví Pragma: No-cache nemusí zabránit uložení stránky do mezipaměti (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Možnosti serveru pro ukládání do mezipaměti Je-li třeba použít záhlaví Cache-Control na jiných stránkách než ASP, může automatické přidání tohoto záhlaví vyžadovat použití možností konfigurace serveru. Informace o přidávání záhlaví HTTP k odpovědím serveru pro konkrétní adresář naleznete v dokumentaci serveru. Příklad: Na serveru IIS 4 postupujte takto:
  • Vyvolejte Správce služeb sítě Internet.
  • Pomocí stromu počítačů a služeb otevřete výchozí webový server (nebo diskutovaný webový server) a vyhledejte adresář, ve kterém je uložen obsah vyžadovaný záhlavím Cache-Control.
  • Zobrazte dialogové okno Vlastnosti tohoto adresáře.
  • Zvolte kartu Záhlaví HTTP.
  • Ve skupině Vlastní záhlaví HTTP klepněte na tlačítko Přidat a jako název záhlaví zadejte „Cache-Control“ a jako hodnotu záhlaví zadejte „no-cache“.
Poznámka: Není vhodné používat toto záhlaví globálně na celém webovém serveru. Omezte jeho použití čistě na obsah, který nesmí být ukládán do mezipaměti v klientském počítači. Kontrolní seznam problémů Pokud jste použili postupy uvedené v tomto článku a přesto máte stále problémy s ukládáním do mezipaměti v aplikaci Internet Explorer, prohlédněte si podrobně tento kontrolní seznam, než budete kontaktovat technickou podporu společnosti Microsoft:
  • Používáte záhlaví Cache-Control spolu s vlastností Response.CacheControl jazyka ASP nebo prostřednictvím vráceného záhlaví HTTP? Toto je jediný způsob jak v aplikaci Internet Explorer skutečně zabránit ukládání do mezipaměti.
  • Používáte aplikaci Internet Explorer 4.01 s aktualizací Service Pack 2 nebo vyšší? Ve starších verzích tohoto prohlížeče nelze ukládání do mezipaměti úplně zabránit.
  • Zkontrolovali jste dvakrát, zda je na webovém serveru zapnut protokol HTTP 1.1 a zda tento server vrací aplikaci Internet Explorer odpovědi HTTP 1.1? Záhlaví Cache-Control nejsou v odpovědích protokolu HTTP 1.0 platná.
  • Používáte-li skripty CGI, ISAPI nebo servlety na straně serveru, dodržujete přesně specifikace protokolu HTTP 1.1, zejména pokud jde o ukončení záhlaví HTTP znaky CRLF (konec řádku, posun řádku)? V zájmu zachování výkonu nepřijímá aplikace Internet Explorer obvykle odpovědi, které porušují specifikaci protokolu HTTP 1.1. V důsledku toho jsou záhlaví ignorována nebo se zobrazí zprávy o neočekávaných chybách serveru.
  • Jsou záhlaví HTTP zadána správně?

Odkazy

Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
189409 Řízení ukládání webových stránek do mezipaměti se serverem IIS 4.0 (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
165150 Použití záhlaví Pragma: No-cache se serverem IIS a aplikací Internet Explorer (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Další informace o protokolu HTTP/1.1 získáte v dokumentu RFC 2616 na webu:
http://www.w3.org/Protocols/rfc2616/rfc2616.html

Vlastnosti

ID článku: 234067 - Poslední aktualizace: 6. listopadu 2006 - Revize: 4.1
Informace v tomto článku jsou určeny pro produkt:
  • 128bitová verze aplikace Microsoft Internet Explorer 4.0
  • 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
Klíčová slova: 
kbhowto kbcaching kbfaq KB234067

Dejte nám zpětnou vazbu

 

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