Ogólnie różne przeglądarki nie zachowują się dokładnie tak samo. Nagłówki podręczne pamięci podręcznej HTTP.
Jedną z niewielkich różnic, które pamiętam (nie mogę znaleźć źródła, więc nie jestem w 100% taki jest dokładny opis zachowania) jest to, że Chrome (af) traktuje max-age=0
tak, jakby podałeś max-age=10
(zakładając, że różnica w zachowaniu to wystarczająco małe, ale wpływ na wyniki jest nadal znaczący).
W każdym razie, oto kilka innych przykładów HTTP cache różnicy zachowań między przeglądarkami:
- Niektórzy będą dawać pierwszeństwo nagłówek HTTP 1.0 Cache (
Pragma
), inni dadzą pierwszeństwo HTTP 1.1 nagłówki Cache
- niektórych przeglądarkach (FF +?) don't honor
no-store
dyrektywy i przechowują dane w zaszyfrowanej pamięci podręcznej
- Niektóre przeglądarki ignorować dyrektywa
no-cache
jest określona po public
, inni nie.
- IE ignores
max-age
, gdy występuje vary
.
- itp
Moje ogólne zalecenie byłoby użyć zarówno Cache-Control: no-cache, must-revalidate, proxy-revalidate
, pragma: no-cache
(HTTP 1.0) i Expires: 0
w celu zapewnienia wszystkich przeglądarek nie buforuje zawartość z tych nagłówków.
Semantycznie; niewiele. Jest krótszy. –
@MarkNottingham. Czy to też dotyczy * prawdziwego świata *? Czy przeglądarki naprawdę traktują je jako * identyczne *? – Pacerier
Nie testowałem od dłuższego czasu, ale wierzę, że tak. –