HTTP cache működése
Cache-Control, max-age, no-cache, no-store, ETag és revalidation: HTTP cache helyesen, a leggyakoribb félreértésekkel.
Röviden
A HTTP cache célja, hogy egy korábban kapott reprezentációt újra fel lehessen használni felesleges adatátvitel vagy origin munka nélkül. A cache lehet böngészőben, köztes proxyn vagy CDN edge-en is.
Mit jelent a http cache működése?
A HTTP cache célja, hogy egy korábban kapott reprezentációt újra fel lehessen használni felesleges adatátvitel vagy origin munka nélkül. A cache lehet böngészőben, köztes proxyn vagy CDN edge-en is.
Első kérés vagy cache hit?
Böngésző
GET /hero.webp
→
Origin / CDN
hálózati letöltés
Hogyan működik a gyakorlatban?
Cache-Control frissességi és tárolási policyt adhat; ETag és Last-Modified validátorok conditional requestet tesznek lehetővé. A `no-cache` nem azt jelenti, hogy tilos tárolni: azt jelzi, hogy újrafelhasználás előtt validálni kell. A `no-store` erősebben tiltja a tárolást.
- `max-age` frissességi időt ad másodpercben.
- `public` megengedi shared cache használatát, ha más feltétel nem tiltja.
- `private` böngészős cache-re korlátozhat személyes választ.
- ETag + If-None-Match esetén 304 válasz body nélkül újrahasznosíthatja a kliens a példányt.
Gyakorlati fejlesztői szemlélet
Hash-elt statikus asseteknél hosszú immutable cache jó lehet, mert URL változik tartalomváltozáskor. HTML vagy személyes API válasznál sokkal óvatosabb, frissesség- és privacy-orientált policy kell.
Gyakori hibák és félreértések
- `no-cache` = soha ne cache-eld állítás.
- Felhasználóspecifikus választ véletlenül public shared cache-be tenni.
- Cache invalidation terv nélkül hosszú TTL-t adni változó URL-re.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy