INTEGRITY Dokumentace

Jak Workers spolupracují s Cache Rules

Když použijete obě Cache Rules a Workers u téhož požadavku, mají přednost nastavení mezipaměti Workeru, avšak pouze pokud je požadovaný compatibility flags jsou povoleny.

Váš Workers skript může přepsat chování Cache Rules bez ohledu na to, zda jde o požadavek na doménu proxovanou přes Cloudflare, nebo na doménu, která proxovaná není. Pokud je například Cache Rule nastaveno tak, aby obcházelo cache pro example.com/foo, ale váš Workers skript nastavuje cacheEverything: true v cf objekt z fetch() požadavek, má přednost nastavení Workeru a odpověď se cachuje.

Pořadí priority

Chování mezipaměti se určuje podle následujícího pořadí priority:

  1. Workers nastavení skriptu
  2. Cache Rules
  3. Page rules

Workery mají přednost před Cache Rules a Cache Rules mají přednost před Page Rules. Když na stejné úrovni odpovídá stejnému požadavku více pravidel, použije se vyhrává poslední odpovídající pravidlo pro případná konfliktní nastavení.

Příznaky kompatibility

Chování při přepsání řídí compatibility flags : konfigurační nastavení, kterými váš Worker zapíná konkrétní chování za běhu. Existují dva příznaky, protože Workers mají dva způsoby, jak s mezipamětí pracovat:

Aby mohly skripty Workers přepisovat Cache Rules, musí být tyto příznaky zapnuté. Pokud pro API, které používáte, není zapnutý správný příznak, nastavení cache vašeho Workeru se potichu ignoruje a místo něj se uplatní Cache Rules.

Chování data kompatibility

Workerova compatibility date určuje, které příznaky jsou ve výchozím nastavení aktivní. Když nastavíte datum kompatibility, automaticky se zapnou všechny příznaky s datem aktivace, které je shodné s tímto datem nebo mu předchází.

Příznak Ve výchozím nastavení zapnuto Předpoklad
request_cf_overrides_cache_rules (Fetch API) Data kompatibility od 2025-04-02 Žádné
cache_api_compat_flags Data kompatibility od 2025-04-19 Žádné
cache_api_request_cf_overrides_cache_rules (Cache API) Data kompatibility od 2025-05-19 Vyžaduje cache_api_compat_flags

Cache API má další požadavek: cache_api_compat_flags musí být povolena, aby na Cache API měly efekt jakékoli compatibility flags. Bez ní Cache API ignoruje všechny compatibility flags, a to i ty, které explicitně uvedete ve své konfiguraci.

Pokud váš Worker používá datum kompatibility starší než data uvedená výše, musíte příznaky do konfigurace přidat ručně. Jinak se chování mezipaměti řídí pravidly Cache Rules místo nastavení Workeru.

Příklad (starší datum kompatibility)

Pravidlo Cache Rule obchází mezipaměť pro example.com/foo. Worker s datem kompatibility starším než 2025-04-02 nastavuje cacheEverything: true prostřednictvím fetch(). Protože je datum kompatibility příliš staré pro request_cf_overrides_cache_rules je aktivní ve výchozím nastavení, vyhrává Cache Rule a odpověď se neukládá do mezipaměti.

Podobně, pokud používáte Cache API a datum kompatibility máte nastavené před 2025-04-19, cache_api_compat_flags není aktivní. I když ručně přidáte cache_api_request_cf_overrides_cache_rules do vaší konfigurace, nemá to žádný účinek, protože Cache API nerozpoznává compatibility flags bez cache_api_compat_flags.