Digitális és informatikai

Cache-Control: a no-cache miért engedhet mégis tárolást?

A no-cache és a no-store eltérő HTTP-utasítás. Az első újrafelhasználás előtti ellenőrzést kér, a második a válasz tárolását tiltja az érintett gyorsítótárnak.

Dajka Gábor3 perc olvasás

A név könnyen félrevezet

A Cache-Control: no-cache mellett a gyorsítótár eltárolhatja a választ, de újrafelhasználás előtt ellenőriztetnie kell annak érvényességét. A no-store azt írja elő, hogy a választ ne tárolja. Az MDN útmutatója külön tárgyalja ezt a két viselkedést; a fejléc neve alapján önmagában nem érdemes következtetni. Ez a HTTP-gyorsítótárból történő újrafelhasználás szabálya; a böngésző Vissza gombja által helyreállított korábbi oldalállapot külön eset, ahol nem feltétlenül történik új hálózati ellenőrzés.

Mit csinál az ETag?

Egy oldal válasza ETag azonosítót adhat. A böngésző ezt később If-None-Match kérésfejlécben küldheti vissza. Ha a szerver szerint a változat nem módosult, 304 Not Modified válasz érkezhet, és a tárolt tartalom felhasználható. Ilyenkor történt hálózati ellenőrzés, de a teljes törzset nem kellett ismét elküldeni.

Egy szemléltető adatforgalmi összevetés

Tegyük fel, hogy a törzs 120 kB, és húsz látogatásból az első tölt le teljes tartalmat, a többi változatlan. A törzsadat így 120 kB lehet a húsz teljes letöltés 2400 kB-ja helyett. A fejlécek és kérések forgalma ezen felül jelentkezik, ezért a teljes megtakarítás nem pontosan ez a különbség.

Hogyan ellenőrizd egy oldal viselkedését?

Nézd meg a válasz fejlécét, a következő kérés feltételes fejlécét és a státuszkódot együtt. A private a megosztott gyorsítótárak használatát korlátozza, nem helyettesíti a hozzáférés-védelmet. Személyes tartalomnál a teljes kiszolgálási útvonalat kell vizsgálni. Az elemzőbe bemásolás előtt távolítsd el a sütiket és hitelesítési adatokat.

Források

Tudáspróba

Válaszolj a három kérdésre, majd ellenőrizd a megoldókulcsot. Minden helyes válasz 1 pont.

1. Mit jelent a no-cache?

  • A) Újrafelhasználás előtt ellenőrzés szükséges
  • B) Az oldal nyilvános
  • C) Semmit sem lehet tárolni

2. Mit jelezhet a 304 válasz?

  • A) Új teljes törzset
  • B) A tárolt változat tovább használható
  • C) Hiányzó oldalt

3. Mit távolíts el a bemásolt fejlécekből?

  • A) A Cache-Control nevet
  • B) Minden státuszkódot
  • C) Hitelesítési adatokat és sütiket

Megoldókulcs és visszajelzés

1. A) Újrafelhasználás előtt ellenőrzés szükséges A tárolás megengedett lehet, a felhasználás érvényesség-ellenőrzéshez kötött.

2. B) A tárolt változat tovább használható A feltételes kérés alapján nincs szükség új teljes törzsre.

3. C) Hitelesítési adatokat és sütiket A fejlécek érzékeny munkamenet-adatot is tartalmazhatnak.

Mit jelent az eredmény?

  • 3 pont: mindhárom ellenőrzött összefüggést helyesen alkalmaztad. Változtass meg egy bemeneti adatot a példában, és számold újra az eredményt.
  • 1–2 pont: a hibás válaszokhoz tartozó magyarázat alapján vezesd végig újra az érintett számítási lépést.
  • 0 pont: olvasd el újra a cikk levezetését, majd próbálkozz a kérdésekkel a megoldókulcs nélkül.

Hiányzó válasszal a próba még nincs lezárva. Ez a rövid önellenőrzés kizárólag a cikkben bemutatott összefüggésekre vonatkozik.

További cikkek

Kapcsolódó olvasnivalók

Gyorskereső

Kalkulátorok és útmutatók keresése

↑↓ választásEnter megnyitásEsc bezárás