← Speed / speed / optimization / content
Speed Brain
Speed Brain je nástroj, který zlepšuje výkon webových stránek tím, že dopředu načítá stránku, na kterou uživatel pravděpodobně přejde jako další.
Dostupnost
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Dostupnost | Ve výchozím nastavení zapnuto | Ano | Ano | Ano |
Požadavky
Speed Brain funguje za následujících podmínek:
- Funkce Speed Brain je v Cloudflare povolena.
- Návštěvník webové stránky používá prohlížeč založený na Chromiu ve verzi 121 nebo novější.
- Webová stránka vyžádaná pomocí prefetch splňuje podmínky pro uložení do mezipaměti.
- Stránka požadovaná dopředným načtením nespouští Worker.
Co je Speed Brain?
Cílem Speed Brain je stáhnout webovou stránku do prohlížeče ještě předtím, než na ni uživatel přejde.
Cloudflare využívá Speculation Rules API ↗ abyste zlepšili výkon webové stránky tím, že prohlížeči doporučíte zvážit přednačtení (prefetch) budoucích navigací. Speed Brain nezrychluje načtení první stránky, kterou na webu navštívíte, ale může zrychlit načítání dalších stránek, na které se na stejném webu následně přejde.
Díky přednačítání stránek, na které pravděpodobně přejde uživatel prohlížeče, dokáže Speed Brain zlepšit klíčové metriky, jako je Largest Content Paint ↗ (LCP), Čas do prvního bajtu ↗ (TTFB) a celkovou dobu načítání stránky.
Jak funguje Speed Brain
Když je povolena funkce Speed Brain společnosti Cloudflare, HTTP hlavička nazvaná Speculation-Rules se přidává do odpovědí webových stránek. Hodnotou této hlavičky je adresa URL, na které je umístěna předdefinovaná konfigurace Speculation-Rules. Tato konfigurace dává prohlížeči pokyn, aby zvážil prefetch veškerých budoucích navigací s conservative eagerness ↗.
Konfigurace vypadá následovně:
{
"prefetch": [
{
"source": "document",
"where": {
"and": [{ "href_matches": "/*", "relative_to": "document" }]
},
"eagerness": "conservative"
}
]
}Toto nastavení instruuje prohlížeč, aby pro budoucí navigace inicioval požadavky prefetch. Tyto požadavky prefetch budou obsahovat sec-purpose: prefetch HTTP hlavičky požadavku. Prefetche, které nejsou úspěšné, odpoví 503 stavovým kódem. Úspěšné prefetche odpoví kódem 200 stavový kód.
Otestujte Speed Brain
Pokud chcete ověřit, že je Speed Brain zapnutý, zkontrolujte, zda hlavičky HTTP odpovědí vašich webových stránek obsahují Speculation-Rules Mějte však na paměti, že během beta fáze Speed Brain nemusí být toto chování ve 100 % případů konzistentní.
Pokud chcete zjistit, zda váš prohlížeč odesílá požadavky prefetch, otevřete Síť tab in Chrome DevTools. Then, mouse-down on a link on a webpage with Speed Brain enabled. This action should initiate a prefetch request, which will be visible in the Síť Mějte však na paměti, že existuje několik důvodů, proč se prohlížeč může rozhodnout prefetch nespustit. Více informací najdete v Průvodce limity Chrome ↗ kde najdete další podrobnosti. Obecnější informace o ladění Speculation-Rules najdete v Průvodce laděním spekulativního načítání v Chrome ↗.
Integrace RUM
Speed Brain je navržen tak, aby se integroval s Web Analytics a Real User Measurements (RUM). Tato integrace vám umožňuje sledovat dopad Speed Brain na výkon webu přímo v rozhraní Web Analytics v Cloudflare Dashboard.
Speed Brain můžete používat i bez zapnutého RUM, v takovém případě ale neuvidíte, jak funkce ovlivňuje výkon vašich webových stránek. Podrobnosti o nastavení RUM najdete v Web Analytics a RUM dokumentace.
Zapnutí a vypnutí Speed Brain
Speed Brain je k dispozici v aplikaci Cloudflare Rychlost řídicího panelu a také v API.
Chcete-li povolit nebo zakázat Speed Brain v dashboardu:
-
V dashboardu Cloudflare přejděte na Rychlost > Nastavení stránce.
Přejděte na Nastavení ↗ -
Přejděte na Optimalizace obsahu.
-
Přepnout Speed Brain na On nebo Vypnuto.
Použijte následující PATCH a zapněte tak Speed Brain:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Zone Settings Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/settings/speed_brain" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"value": "on"
}'Pokud chcete Speed Brain vypnout, nastavte value: na "off".
Speed Brain můžete nakonfigurovat i pomocí Terraformu. Další podrobnosti najdete v cloudflare_zone_settings_override prostředek na Dokumentace Terraform ↗.
Omezení
-
Protože není zaručeno, že prohlížeč prefetchované odpovědi skutečně vykreslí, obsahuje Speed Brain dvě pojistky, které minimalizují riziko nebezpečné prefetchování ↗:
-
Speed Brain nenačítá dopředu trasy, na kterých běží Workers. Bez tohoto zajištění by mohly požadavky na dopředné načítání neúmyslně spustit logiku Workeru, která počítá s tím, že příchozí požadavek je běžný, tedy ne dopředu načítaný. Příkladem může být čítač zobrazení stránky běžící ve Workeru: neměl by se zvyšovat, pokud se stránka ve skutečnosti v prohlížeči nevykreslí.
-
Požadavky Prefetch se nikdy nedostanou k origin serverům. Požadavky Prefetch obsluhují pouze obsah, který je uložen v Cloudflare Cache. Pokud obsah v Cache není, požadavek Prefetch k origin serverům nepokračuje. Bez tohoto zabezpečení by mohlo dojít ke změně stavu origin serveru, i když se odpověď na prefetch v prohlížeči nevykreslí. Příkladem může být prefetch
GETna adresu URL pro odhlášení, což na serveru neúmyslně spustí akci odhlášení.
-
-
Pokud odpovědi origin serveru obsahují
Speculation-Rulesnebude přepsána. -
Speed Brain nefunguje s restriktivní Content Security Policy ↗ konfigurace pomocí
strict-dynamicnebononce-{hash}atributy. -
Speed Brain aktuálně není kompatibilní s weby, které používají nebo se spoléhají na
pages.dev.