Der programmierbare Cache von Fastly ist eine der Superkräfte unserer Compute-Plattform. Möchten Sie ein Bild anpassen, um jeden Nutzer Ihrer Anwendung zu begeistern? Wir haben die passende Lösung für Sie. Und das im Kontext eines HTTP Anfrage/Antwort-Flows zu machen, sollte ganz einfach gehen. Fastly Compute löst das mit der Einfachheit unserer neuen HTTP-Cache-APIs, einer Reihe von SDK-APIs, die innerhalb des Compute-Codes verwendet werden können.
Wie funktioniert das?
Wenn HTTP-Anforderungen die Fastly Edge passieren, werden die Origin-Server-Antworten standardmäßig automatisch gecached (sofern nicht explizit über Cache-Control überschrieben). Nachfolgende Anforderungen für dieselbe Ressource können dann aus dem Cache ausgeliefert werden, ohne dass eine Verbindung zum Backend hergestellt werden muss.
Dank HTTP-Cache-APIs können Entwickler etwas tun, was ihnen mit Compute bisher nicht möglich war. Sie können nun individuelle Anpassungen in diesen Standardablauf einfügen, wodurch sich neue Anwendungsfälle und Möglichkeiten für Compute-Kunden eröffnen.
Was Sie unbedingt wissen sollten
HTTP Cache-API: Zusammenfassung
Bietet erstklassige HTTP-Unterstützung in Ihrer bevorzugten Sprache
Ermöglicht feingranularen, programmgesteuerten Zugriff auf den Fastly Cache
Unterstützt die Anpassung von dynamischem Inhalt, der von Fastly Compute bereitgestellt wird.
Ermöglicht es Entwicklern, das Caching-Verhalten mühelos anzupassen.
Die HTTP-Cache-Schnittstelle baut auf der Grundlage der Simple-Cache- und Core-Cache-Schnittstellen auf und ist für das Cachen von Anfragen/Antworten innerhalb des Ablaufs der HTTP-Spezifikation optimiert. Es ist eine vollständig integrierte API, die Entwicklern Funktionen wie die Möglichkeit bietet, Änderungen an den Cache-Eigenschaften eines Objekts vorzunehmen, Header wie Cache-Kontrolle anzupassen und vieles mehr, alles im Kontext eines HTTP-Flows.
Von unseren Kunden sehr geschätzte Anwendungsfälle
Hier ist ein einfaches JavaScript-Beispiel zur Änderung der Fastly TTL, während ein Surrogate-Control für Downstream-Caches und ein Cache-Control-Header zur Verwaltung von Browser-Caches gesetzt wird:
const backendResp = await fetch(clientReq, {
backend: 'example_backend',
cacheOverride: new CacheOverride({
afterSend(resp) {
resp.ttl = 300;
resp.headers.set('Cache-Control', 'max-age=86400'); // Rules for browsers
resp.headers.set('Surrogate-Control', 'max-age=31536000'); // Rules for downstream caches
resp.headers.delete('expires');
},
}),
});
Und es gibt unzählige andere Architekturen, die Sie implementieren können. Hier sind einige, die Ihnen den Einstieg erleichtern:
Anpassen der Cache-Steuerung einer Backend-Antwort vor dem Cachen. Entwickler können die Cache-TTL basierend auf einem nicht cache-bezogenen Antwort-Header wie Content-Type festlegen.
Vorteil: Diese Flexibilität ermöglicht intelligentere und effizientere Caching-Strategien. Durch das Festlegen von Cache-TTLs basierend auf dem Inhaltstyp können Entwickler die Leistung und Ressourcennutzung optimieren. Beispielsweise können statische Assets wie Bilder oder CSS-Dateien länger zwischengespeichert werden, während dynamische Inhalte kürzere TTLs haben können. Dies führt zu einer verbesserten Website-Geschwindigkeit, einer geringeren Origin-Server-Last und einem besseren Nutzererlebnis, während gleichzeitig die für jeden Asset-Typ angemessene Aktualität der Inhalte gewahrt bleibt.Ändern Sie die Antwort-Header oder den -Text, bevor Sie ihn im Cache speichern. Beispielsweise können Entwickler die lokal generierte HTML-Version einer Antwort cachen, anstatt das vom Origin-Server zurückgegebene Roh-JSON.
Vorteil: Diese Fähigkeit ermöglicht es Entwicklern, optimierte Versionen von Inhalten im Cache zu speichern, wodurch die Verarbeitungszeit verkürzt und die Auslieferungsgeschwindigkeit erhöht wird. Indem die HTML-Version anstelle von rohem JSON zwischengespeichert wird, können nachfolgende Anfragen schneller bedient werden, da der Umwandlungsschritt entfällt. Dies verbessert nicht nur die Performance, sondern reduziert auch die Rechenlast sowohl auf dem Origin-Server als auch an der Edge, was zu Kosteneinsparungen und einer insgesamt reaktionsschnelleren App führt.Bestimmen, ob überhaupt gecacht werden soll, basierend auf dem Inhalt des Origin-Servers. Dies ist ideal für Situationen, in denen Sie möglicherweise eine HTTP 200 OK-Antwort nicht cachen möchten.
Vorteil: Dieses Maß an Kontrolle stellt sicher, dass nur gültige und nützliche Inhalte gecacht werden, wodurch die Integrität und Zuverlässigkeit des Caches gewahrt bleibt. Durch das Vermeiden des Cachens von Antworten, die trotz eines 200 OK-Status Fehler enthalten, können Entwickler die Weiterleitung falscher Daten an Benutzer verhindern. Dies führt zu einem konsistenteren Benutzererlebnis, verringert das Risiko, veraltete oder fehlerhafte Inhalte bereitzustellen, und hilft, die Gesamtqualität und Genauigkeit der Ausgabe der Anwendung aufrechtzuerhalten.
Für weitere Informationen und zusätzliche Codebeispiele besuchen Sie unser Entwicklerportal.
Zeit, mit dem Caching zu beginnen
Fastlys Cache-APIs sind perfekt, um die Grenzen der Personalisierung zu erweitern und bahnbrechende Erlebnisse zu schaffen. Diese neuen Cache-Steuerungen integrieren sich nahtlos in bestehende Arbeitsabläufe und machen einfache Anpassungen extrem einfach.
Sind Sie bereit, die HTTP-Cache-APIs auszuprobieren? Beginnen Sie noch heute mit der Nutzung oder beteiligen Sie sich an der Diskussion im Forum, um zu erfahren, wie wir Ihnen helfen können, mehr aus Ihrem Cache herauszuholen!