Chcę znaleźć minimalny zestaw nagłówków, który będzie działał ze „wszystkimi” pamięciami podręcznymi i przeglądarkami (także przy korzystaniu z protokołu HTTPS !)
W mojej witrynie internetowej będę mieć trzy rodzaje zasobów:
(1) Pamięć podręczna na zawsze (publiczna / równa dla wszystkich użytkowników)
Przykład: 0A470E87CC58EE133616F402B5DDFE1C.cache.html ( automatycznie generowany przez GWT )
Pliki te automatycznie otrzymują nową nazwę, gdy zmieniają zawartość (na podstawie MD5).
Powinny być buforowane jak najwięcej, nawet przy korzystaniu z HTTPS (więc zakładam, że powinienem ustawić
Cache-Control: public
, szczególnie dla Firefoksa?)Nie powinny wymagać, aby klient odbył podróż w obie strony do serwera w celu sprawdzenia, czy zawartość uległa zmianie.
(2) Okazjonalne zmiany (publiczne / równe dla wszystkich użytkowników)
Przykłady: index.html, mymodule.nocache.js
Te pliki zmieniają swoją zawartość bez zmiany adresu URL, gdy wdrażana jest nowa wersja witryny.
Można je przechowywać w pamięci podręcznej, ale prawdopodobnie za każdym razem wymagają one podróży w obie strony, aby ponownie je zweryfikować.
(3) Indywidualne dla każdego wniosku (prywatne / specyficzne dla użytkownika)
Przykład: odpowiedzi JSON
- Zasoby te nigdy nie powinny być buforowane w postaci niezaszyfrowanej na dysku pod żadnym pozorem. (Może z wyjątkiem kilku konkretnych żądań, które można będzie przechowywać w pamięci podręcznej).
Mam ogólny pomysł, których nagłówków prawdopodobnie użyłbym dla każdego typu, ale zawsze jest coś, czego mogę przegapić.