2013-03-14 32 views
5

Czym różni się odpowiedź HTTP od Cache-Control: no-cache od Cache-Control: max-age=0, must-revalidate, proxy-revalidate?"brak pamięci podręcznej" w stosunku do "max-age = 0, konieczność ponownej ważnej weryfikacji, rewalidacja proxy"

Czy przeglądarki traktują to jako identyczne?

+1

Semantycznie; niewiele. Jest krótszy. –

+1

@MarkNottingham. Czy to też dotyczy * prawdziwego świata *? Czy przeglądarki naprawdę traktują je jako * identyczne *? – Pacerier

+0

Nie testowałem od dłuższego czasu, ale wierzę, że tak. –

Odpowiedz

2

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 honorno-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 ignoresmax-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.

+0

Skąd wiesz, że Chrome traktuje 'max -age = 0' tak, jakbyśmy określili 'max-age = 10'? – Pacerier

+0

Pamiętam to, ale nie mogę znaleźć źródła. Zaktualizuję odpowiedź z rezerwacją, dopóki nie znajdę właściwego źródła. W każdym razie: mogę przynieść więcej przykładów przeglądarek, które nie zachowują się tak samo. Nagłówki podręczne pamięci podręcznej HTTP. –