API Documentatie
Handleiding voor Response Caching en CDN-integratie
Optimaliseer de prestaties van de Smart Money API met intelligente cachingstrategieën. Leer over HTTP-cacheheaders, ETag-validatie, CDN-integratie en client-side cachingpatronen om latentie en bandbreedtekosten te verminderen.
Gepubliceerd op 21 maart 2026
•
16 minuten leestijd
•
Prestaties
Caching Overzicht
Smart Money API-endpoints leveren cryptovalutamarktgegevens die met verschillende frequenties veranderen. Sommige gegevens (walvisadressen, funding rates) worden elke paar seconden bijgewerkt, terwijl andere gegevens (historische analyses, educatieve content) urenlang statisch blijven. Intelligente caching verbetert de prestaties aanzienlijk en verlaagt de kosten.
De Smart Money API implementeert een drielaagse cachingstrategie:
- CDN Edge Cache — Wereldwijde contentlevering met automatische cache-invalidatie
- HTTP Browser Cache — Client-side caching met standaard HTTP-headers
- Application Cache — In-memory caching voor veelgebruikte datasets
Prestatie-inzicht: Gecachte reacties worden 50-100x sneller geleverd dan nieuwe API-aanvragen en besparen aanzienlijk bandbreedte. Een goed geïmplementeerde caching kan de gegevensoverdracht met 70-85% verminderen.
Elke Smart Money API-reactie bevat cache-instructies die aangeven hoe lang gegevens geldig blijven. Het begrijpen en correct implementeren van deze instructies is cruciaal voor optimale prestaties.
Basisprincipes van Caching
HTTP-caching werkt op basis van response-headers die aangeven of content kan worden gecached en voor hoe lang.
Cache-Control Header
Het primaire mechanisme voor het beheren van cachegedrag. Elke Smart Money API-reactie bevat een Cache-Control-header met:
- max-age — Duur in seconden dat de reactie geldig blijft
- public/private — Of tussenliggende caches het kunnen opslaan
- must-revalidate — Of de versheid gecontroleerd moet worden voor levering
- no-store — Sla gevoelige gegevens niet op
Voorbeeld Cache Headers
Verschillende endpoints hebben verschillende cachevereisten:
// Walvisadresgegevens (wordt elke 5 minuten bijgewerkt)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Real-time funding rates (wordt elke seconde bijgewerkt)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Historische gegevens (verandert niet)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"
Cacheduur per Endpoint Type
| Gegevenstype |
Cacheduur |
Gebruiksscenario |
| Real-time Funding |
1-5 seconden |
Live trading, positiegrootte |
| Walvisbewegingen |
5 minuten |
Signaalbevestiging, meldingen |
| Dagelijkse OHLCV |
1 uur |
Technische analyse, grafieken |
| Historische Analyse |
24 uur |
Backtesting, onderzoek |
| Statische Content |
7 dagen |
API-docs, handleidingen, configuratie |
Krijg uw API-sleutel in 30 seconden
Klaar om te bouwen? Vraag een gratis API-sleutel aan (200 calls/dag, geen kaart nodig) en begin met het ophalen van live walvis-, funding- en on-chain gegevens.
Vraag uw API-sleutel aan →
ETag en Conditionele Aanvragen
ETags (Entity Tags) bieden een efficiënte manier om gecachte content te valideren zonder het volledige response-body te downloaden.
Hoe ETags Werken
- Eerste Aanvraag — Client vraagt gegevens aan, server reageert met ETag
- Cacheopslag — Client slaat reactie op met ETag
- Volgende Aanvraag — Client stuurt If-None-Match header met gecachte ETag
- Validatie — Als data ongewijzigd is, stuurt server 304 Not Modified terug
- Bandbreedte Bespaard — Geen response body verzonden, enorme besparing in bandbreedte
ETag Implementatie
// Eerste verzoek
GET /v1/whales/btc HTTP/1.1
// Reactie bevat ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
// Na cache verloop, stuur If-None-Match
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Als ongewijzigd, reageert server met 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Geen body verzonden! Bandbreedte bespaard
ETag Sterkte
ETags kunnen sterk of zwak zijn:
| Type |
Formaat |
Gebruiksgeval |
| Sterke ETag |
"8a3b9c2d" |
Byte-voor-byte identiek, gebruik voor validatie |
| Zwakke ETag |
W/"8a3b9c2d" |
Semantisch equivalent, voor weergave wijzigingen |
Cache Control Directives
Het begrijpen van Cache-Control directives stelt je in staat om optimale cachingstrategieën voor je applicatie te bouwen.
Directive Referentie
| Directive |
Betekenis |
Voorbeeld |
| max-age |
Seconden dat de reactie vers blijft |
max-age=300 |
| public |
Cache kan opslaan en delen |
public |
| private |
Cache alleen voor ontvanger |
private |
| must-revalidate |
Hervalidateer wanneer verouderd |
must-revalidate |
| no-cache |
Moet voor gebruik hervalidateeren |
no-cache |
| no-store |
Helemaal niet cachen |
no-store |
| immutable |
Verandert nooit, cache voor altijd |
immutable |
| s-maxage |
CDN cache duur |
s-maxage=3600 |
Praktische Cache-Control Patronen
// Patroon 1: Browser cache, CDN voor 1 uur
Cache-Control: public, max-age=300, s-maxage=3600
// Patroon 2: Per-gebruiker data, geen proxy cache
Cache-Control: private, max-age=1800
// Patroon 3: Altijd vers, altijd controleren
Cache-Control: public, no-cache, must-revalidate
// Patroon 4: Onveranderlijke versie asset
Cache-Control: public, max-age=31536000, immutable
CDN Integratie
Smart Money API levert reacties via Cloudflare's wereldwijde CDN-netwerk, waarbij reacties automatisch worden gecached op edge-locaties wereldwijd voor minimale latentie.
Hoe Smart Money CDN Werkt
- Gebruikersverzoek — Verzoek komt aan op dichtstbijzijnde Cloudflare edge-locatie
- Cache Controle — Edge controleert of reactie gecached en vers is
- Cache Hit — Indien gecached, direct serveren met <10ms latentie
- Cache Miss — Indien niet gecached, ophalen van originserver
- Opslaan en Serveren — Cache reactie en lever aan gebruiker
Cache Key Configuratie
Cloudflare gebruikt cache keys om gecachte reacties uniek te identificeren. Standaard:
- Request pad en query parameters zijn inbegrepen
- De meeste headers worden genegeerd (om cache hits te maximaliseren)
- Authorization headers zijn NIET inbegrepen (geen account lekken)
- Aangepaste headers kunnen worden inbegrepen via Vary header
CDN Purging
Smart Money purgeert automatisch CDN cache wanneer data wordt bijgewerkt:
// Purge specifieke URL van CDN
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'
CDN Prestaties Meten
Controleer response headers om te zien of verzoek vanuit cache is bediend:
// Cache hit van CDN edge
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // seconden sinds gecached
// Cache miss, opgehaald van origin
CF-Cache-Status: MISS
Age: 0
Client-Side Caching
Implementeer caching in je applicatie om API calls verder te verminderen en responsiviteit te verbeteren.
Browser Cache Implementatie
// Maak cache opslag
const cache = new Map();
async function fetchWithCache(url) {
// Controleer eerst de cache
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Haal op van API
const response = await fetch(url);
const data = await response.json();
// Parse cacheduur uit headers
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Sla op in cache
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}
Service Worker Caching
Voor offline ondersteuning en geavanceerde cachingstrategieën, gebruik Service Workers:
// Cache API-responses met Service Worker
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Eerst netwerk, val terug op cache
event.respondWith(
fetch(event.request)
.then(response => {
// Werk cache bij met nieuwe response
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});
Cache Busting Strategies
Soms moet je clients dwingen om nieuwe data op te halen. Gebruik deze technieken:
Versieparameter
Voeg een versieparameter toe om caches ongeldig te maken wanneer data verandert:
// Includeer data versie of timestamp
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Wanneer data wordt bijgewerkt, verhoog de versie
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// Nieuwe URL = nieuwe cache entry
Forceer Hervalidatie
Overschrijf cache met Cache-Control: no-cache wanneer je nieuwe data nodig hebt:
// JavaScript: Forceer nieuwe aanvraag
fetch(url, {
cache: 'no-cache', // Altijd hervalideren
headers: {
'Cache-Control': 'max-age=0'
}
});
Monitoring Cache Performance
Houd cache hit rates en prestatieverbeteringen bij om je cachingstrategie te valideren.
Cache Metrics om te Monitoren
- Hit Rate — Percentage van aanvragen die vanuit cache worden bediend (doel: >70%)
- Response Time — Gemiddelde latentie (gecachet: <50ms, niet-gecachet: 100-300ms)
- Bandwidth Saved — Vermindering in dataoverdracht
- Origin Load — Vermindering van aanvragen bij de originserver
Analyzing Cache Headers
// Analyseer response cache headers
async function analyzeCache(url) {
const response = await fetch(url);
return {
cacheControl: response.headers
.get('cache-control'),
etag: response.headers.get('etag'),
age: response.headers.get('age'),
cfStatus: response.headers
.get('cf-cache-status'),
contentLength:
response.headers.get('content-length')
};
}
Caching Best Practices
1. Respecteer Response Headers
Respecteer altijd Cache-Control headers van Smart Money API. Cache geen content gemarkeerd als no-store of no-cache.
2. Implementeer Voorwaardelijke Aanvragen
Stuur If-None-Match (ETag) en If-Modified-Since headers bij het hervalideren van gecachete content. Bespaar bandbreedte met 304 responses.
3. Cache Op Maat per Data Type
- Real-time data (funding rates): 1-5 seconden cache maximum
- Live signals (whale movement): 5-30 seconden cache
- Uurlijkse data (OHLCV): 1 uur cache
- Historische data: 24-uurs cache
- Statische content: 7-daagse cache
4. Monitor Cache Effectiviteit
Houd hit rates en latentieverbeteringen bij. Pas TTL's aan op basis van data freshness vereisten en cache prestaties.
5. Gebruik Vary Headers met Mate
Vary headers verminderen cache hits door aparte cache entries te maken. Gebruik alleen wanneer nodig voor verschillende authenticatieniveaus of parameters.
6. Cache op Meerdere Lagen
Implementeer caching op CDN, browser en applicatieniveaus. Elke laag vangt aanvragen op voordat ze de origin bereiken.
Optimaliseer Je API Prestaties
Smart Money API's caching infrastructuur zorgt voor sub-100ms responses op wereldwijde schaal. Implementeer intelligente cachingstrategieën om prestaties te maximaliseren en kosten te minimaliseren.
Vergelijk Plannen
Alle plannen bevatten volledige CDN caching. Hogere tiers bieden cache control en purging APIs.