Správa vypršení platnosti webového obsahu ve službě Azure Content Delivery Network

Soubory z veřejně přístupných webových serverů původu je možné ukládat do mezipaměti ve službě Azure Content Delivery Network, dokud neuplyne jejich doba potřebná k živému přenosu (TTL). Hodnota TTL se určí hlavičkou Cache-Control v odpovědi HTTP ze zdrojového serveru. Tento článek popisuje, jak nastavit Cache-Control hlavičky pro funkci Web Apps služby Microsoft Aplikace Azure, Azure Cloud Services, ASP.NET aplikací a webů služby Internetová informační služba (IIS), které jsou podobně nakonfigurované. Hlavičku Cache-Control můžete nastavit buď pomocí konfiguračních souborů, nebo programově.

Nastavení mezipaměti můžete také řídit na webu Azure Portal nastavením pravidel ukládání do mezipaměti sítě pro doručování obsahu. Pokud vytvoříte jedno nebo více pravidel ukládání do mezipaměti a nastavíte jejich chování při ukládání do mezipaměti na Hodnotu Přepsání nebo Obejití mezipaměti, nastavení ukládání do mezipaměti poskytované zdrojem, které je popsáno v tomto článku, budou ignorována. Informace o obecných konceptech ukládání do mezipaměti najdete v tématu Jak funguje ukládání do mezipaměti.

Tip

Pro soubor můžete nastavit hodnotu TTL. V tomto případě Azure Content Delivery Network automaticky použije výchozí hodnotu TTL sedmi dnů, pokud jste na webu Azure Portal nenastavili pravidla ukládání do mezipaměti. Tato výchozí hodnota TTL se vztahuje pouze na obecné optimalizace doručování webu. U velkých optimalizací souborů je výchozí hodnota TTL jeden den a pro optimalizace streamování médií je výchozí hodnota TTL jeden rok.

Další informace o tom, jak služba Azure Content Delivery Network funguje pro urychlení přístupu k souborům a dalším prostředkům, najdete v tématu Přehled služby Azure Content Delivery Network.

Nastavení hlaviček řízení mezipaměti pomocí pravidel ukládání do mezipaměti sítě pro doručování obsahu

Upřednostňovanou metodou nastavení hlavičky Cache-Control webového serveru je použití pravidel ukládání do mezipaměti na webu Azure Portal. Další informace o pravidlech ukládání do mezipaměti sítě pro doručování obsahu najdete v tématu Řízení chování služby Azure Content Delivery Network při ukládání do mezipaměti pomocí pravidel ukládání do mezipaměti.

Poznámka:

Ukládání do mezipaměti pravidla jsou k dispozici pouze pro Azure CDN Standard z profilů Edgio Pro Azure CDN Premium z profilů Edgio musíte pro podobné funkce použít modul pravidel služby Azure Content Delivery Network na portálu Správa .

Přejděte na stránku pravidel ukládání do mezipaměti CDN:

  1. Na webu Azure Portal vyberte profil sítě pro doručování obsahu a pak vyberte koncový bod webového serveru.

  2. V levém podokně v části Nastavení vyberte Pravidla ukládání do mezipaměti.

    Snímek obrazovky s tlačítkem pravidla ukládání do mezipaměti sítě pro doručování obsahu

    Zobrazí se stránka Pravidla ukládání do mezipaměti.

    Snímek obrazovky se stránkou ukládání do mezipaměti sítě pro doručování obsahu

Nastavení hlaviček řízení mezipaměti webového serveru pomocí globálních pravidel ukládání do mezipaměti:

  1. V části Globální pravidla ukládání do mezipaměti nastavte chování při ukládání řetězců dotazu do mezipaměti tak, aby ignoroval řetězce dotazu a nastavil chování Ukládání do mezipaměti přepsat.

  2. V případě doby platnosti mezipaměti zadejte do pole Sekundy hodnotu 3600 nebo 1 do pole Hodiny .

    Snímek obrazovky s příkladem globálních pravidel ukládání do mezipaměti sítě pro doručování obsahu

    Toto globální pravidlo ukládání do mezipaměti nastavuje dobu ukládání do mezipaměti jednu hodinu a ovlivňuje všechny požadavky na koncový bod. Přepíše všechny Cache-Control hlavičky HTTP Expires odeslané počátečním serverem určeným koncovým bodem.

  3. Zvolte Uložit.

Nastavení hlaviček cache-control souboru webového serveru pomocí vlastních pravidel ukládání do mezipaměti:

  1. V části Vlastní pravidla ukládání do mezipaměti vytvořte dvě podmínky shody:

    1. Pro první podmínku shody nastavte Podmínku shody na Cestu a zadejte /webfolder1/* hodnotu Shoda. Nastavte Ukládání do mezipaměti chování na Přepsat a zadejte 4 do pole Dny.

    2. Pro druhou podmínku shody nastavte Podmínku shody na Cestu a zadejte /webfolder1/file1.txt hodnotu Shoda. Nastavte Ukládání do mezipaměti chování na Přepsat a zadejte 2 do pole Dny.

    Snímek obrazovky s příkladem vlastních pravidel ukládání do mezipaměti v síti pro doručování obsahu

    První vlastní pravidlo ukládání do mezipaměti nastaví dobu ukládání do mezipaměti čtyři dny pro všechny soubory ve /webfolder1 složce na zdrojovém serveru určeném vaším koncovým bodem. Druhé pravidlo přepíše první pravidlo pouze pro file1.txt soubor a nastaví pro něj dobu mezipamětí 2 dny.

  2. Zvolte Uložit.

Nastavení hlaviček řízení mezipaměti pomocí konfiguračních souborů

U statického obsahu, jako jsou obrázky a šablony stylů, můžete řídit frekvenci aktualizací úpravou konfiguračních souborů applicationHost.config nebo Web.config pro vaši webovou aplikaci. Chcete-li nastavit Cache-Control záhlaví obsahu, použijte <system.webServer>/<staticContent>/<clientCache> prvek v obou souborech.

Použití souborů ApplicationHost.config

Soubor ApplicationHost.config je kořenový soubor konfiguračního systému služby IIS. Nastavení konfigurace v souboru ApplicationHost.config ovlivní všechny aplikace na webu, ale jsou přepsána nastavením všech souborů Web.config , které existují pro webovou aplikaci.

Použití souborů Web.config

Pomocí souboru Web.config můžete přizpůsobit způsob, jakým se celá webová aplikace nebo konkrétní adresář ve webové aplikaci chová. Obvykle máte alespoň jeden soubor Web.config v kořenové složce webové aplikace. Pro každý soubor Web.config v konkrétní složce ovlivní nastavení konfigurace vše v této složce a jejích podsložkách, pokud se nepřepíše na úrovni podsložky jiným souborem Web.config .

Můžete například nastavit <clientCache> prvek v souboru Web.config v kořenové složce webové aplikace tak, aby všechny statické obsahy ve webové aplikaci ukládaly do mezipaměti po dobu tří dnů. Můžete také přidat soubor Web.config do podsložky s větším obsahem proměnných (například) a nastavit jeho <clientCache> prvek tak, \frequentaby obsah podsložky ukládaly do mezipaměti po dobu šesti hodin. Čistým výsledkem je, že obsah na celém webu se ukládá do mezipaměti po dobu tří dnů, s výjimkou jakéhokoli obsahu v \frequent adresáři, který je uložen v mezipaměti pouze šest hodin.

Následující příklad konfiguračního <clientCache> souboru XML ukazuje, jak nastavit element tak, aby určil maximální věk tří dnů:

<configuration>
    <system.webServer>
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
        </staticContent>
    </system.webServer>
</configuration>

Chcete-li použít cacheControlMaxAge atribut, je nutné nastavit hodnotu cacheControlMode atributu UseMaxAge. Toto nastavení způsobilo přidání hlavičky a direktivy Cache-Control: max-age=<nnn>HTTP do odpovědi. Formát hodnoty časového rozsahu pro cacheControlMaxAge atribut je <days>.<hours>:<min>:<sec>. Jeho hodnota se převede na sekundy a použije se jako hodnota direktivy Cache-Controlmax-age . Další informace o elementu <clientCache> naleznete v tématu Klient Cache <clientCache>.

Programové nastavení hlaviček řízení mezipaměti

U ASP.NET aplikací řídíte chování sítě pro doručování obsahu do mezipaměti programově nastavením vlastnosti HttpResponse.Cache rozhraní .NET API. Informace o Vlastnosti HttpResponse.Cache naleznete v tématu HttpResponse.Cache – vlastnost a Třída HttpCachePolicy.

Pokud chcete obsah aplikace v ASP.NET ukládat do mezipaměti prostřednictvím kódu programu, postupujte takto:

  1. Ověřte, že je obsah označený jako uložený v mezipaměti, a to nastavením HttpCacheability na Public.
  2. Nastavte validátor mezipaměti voláním jedné z následujících HttpCachePolicy metod:
    • Volání SetLastModified pro nastavení hodnoty časového razítka Last-Modified pro záhlaví
    • Volání SetETag pro nastavení hodnoty pro ETag záhlaví
  3. Volitelně můžete zadat dobu vypršení platnosti mezipaměti voláním SetExpires pro nastavení hodnoty hlavičky Expires . V opačném případě platí výchozí heuristika mezipaměti popsaná dříve v tomto dokumentu.

Pokud například chcete obsah ukládat do mezipaměti po dobu jedné hodiny, přidejte následující kód jazyka C#:

// Set the caching parameters.
Response.Cache.SetExpires(DateTime.Now.AddHours(1));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);

Testování hlavičky Cache-Control

Nastavení hodnoty TTL webového obsahu můžete snadno ověřit. Pomocí vývojářských nástrojů prohlížeče otestujte, že webový obsah obsahuje hlavičku Cache-Control odpovědi. K prozkoumání hlaviček odpovědí můžete použít také nástroj, jako je wget, Postman nebo Fiddler .

Další kroky