← Cloudflare Cache / cache / interaction-cloudflare-products
Přizpůsobení chování cache pomocí Workers
Můžete použít Workers přizpůsobit chování mezipaměti v síti Cloudflare. Workers fungují jako middleware v životním cyklu požadavku: jeden Worker obsluhuje jak fázi požadavku, tak fázi odpovědi. Když požadavek dorazí, projde Workerem ještě před kontrolou mezipaměti. Worker může příchozí požadavek upravit (například přepsat URL adresu nebo přidat hlavičky) a poté zavolat fetch() pokračovat v požadavku přes mezipaměť. Jakmile se vrátí odpověď, ať už z mezipaměti nebo z origin serveru, může Worker odpověď před odesláním návštěvníkovi ještě upravit.
Diagram níže znázorňuje běžný tok interakce mezi Workers a Cache.
- Návštěvník (a) vyžádá adresu URL a tato žádost je směrována na Worker. Worker pak může se žádostí pracovat, například vyžádat obsah z origin serveru pomocí (b)
fetch()nebo odesláním odpovědi (f) zpět návštěvníkovi. - Pokud je obsah uložen v mezipaměti, mezipaměť odešle odpověď (e) zpět Workeru, který může odpověď upravit před odesláním odpovědi (f) zpět návštěvníkovi.
- Při použití cache rules s Workers musí pravidlo mezipaměti odpovídat vlastnostem adresy URL v
fetch()(b), jako jsou hlavičky, název hostitele nebo cesta URL adresy, nikoli původní URL adresu/hostitele návštěvníka (a). Jinak se pravidlo nepoužije.
Několik příkladů, jak lze pomocí Workers přizpůsobit chování mezipaměti:
-
Modify Response: Upravte nebo vylepšete obsah po jeho načtení z mezipaměti a zajistěte, aby byly odpovědi aktuální nebo přizpůsobené konkrétním potřebám.
-
Podepsané URL: Generuje časově omezené podepsané adresy URL pro kontrolu přístupu a posílení zabezpečení.
-
Personalizovaná odpověď: Poskytuje personalizovaný obsah na základě uživatelských dat, přičemž využívá prostředky z mezipaměti ke snížení zátěže origin serveru.
-
Snížení latence: Poskytuje obsah z datového centra v blízkosti návštěvníka, čímž zkracuje dobu načítání a zlepšuje uživatelský dojem.
Můžete také použít Snippets pro drobné úpravy, jako jsou změny hlaviček, přesměrování nebo ověřování JWT, aniž byste museli nasazovat celý skript Workeru. Snippets jsou u všech placených plánů součástí bez příplatku, ale mají přísnější limity zdrojů (doba běhu 5 ms, velikost balíčku 32 KB).
Funkce mezipaměti ve Workers
Workers nabízí dva způsoby, jak pracovat s mezipamětí. Použijte fetch() když váš Worker odesílá dílčí požadavky na origin. Rozhraní Cache API použijte tehdy, když váš Worker generuje odpovědi bez backendového originu.
-
fetch(): Když Worker volá
fetch(), požadavek projde cache Cloudflare a Tiered Cache (pokud je povoleno). Chování ukládání do mezipaměti můžete ovládat nastavením vlastností požadavkucfobjekt , včetně hodnot TTL (time-to-live), vlastních klíčů mezipaměti a hlaviček mezipaměti. Další podrobnosti naleznete v Ukládání do mezipaměti pomocí fetch. -
Cache API: Umožňuje programově ukládat, načítat a mazat odpovědi v mezipaměti Cloudflare pomocí
caches.defaultnebocaches.open(). Na rozdíl odfetch(), Cache API funguje pouze s cache v datacentru, které zpracovává aktuální požadavek, a nespolupracuje s Tiered Cache. Cache API použijte, když potřebujete ukládat do cache odpovědi, které nepocházejí z origin serveru. Další podrobnosti najdete v Používání Cache API.
Více o tom, jak spolu Cache a Workers spolupracují, najdete v Mezipaměť ve Workers.