Dla odpowiedzi z obrazem przechodzącej przez widoczną dla HTTP współdzieloną pamięć podręczną opublikuj jawny czas i walidator. Gdy obraz można bezpiecznie wykorzystać ponownie między użytkownikami, przykładowe nagłówki odpowiedzi to:

Cache-Control: public, max-age=604800
ETag: "image-v4"

Czas jest w sekundach; 604800 to jeden tydzień. Używaj public tylko dla treści przeznaczonych do ponownego wykorzystania między użytkownikami.

Jeśli przeglądarka i współdzielony proxy potrzebują różnych czasów, s-maxage określa czas współdzielonej pamięci podręcznej. Na przykład max-age=3600 z s-maxage=604800 daje współdzielonej pamięci podręcznej dłuższy okres świeżości.

Expires to data, a nie czas trwania

Expires przyjmuje znacznik czasu w formacie daty HTTP. max-age zastępuje to pole, a s-maxage ma pierwszeństwo dla współdzielonych pamięci podręcznych. Generuj dowolną datę Expires podczas tworzenia odpowiedzi.

Odświeżenie może zażądać walidacji

Żądanie zawierające Cache-Control: no-cache wymaga udanej walidacji u źródła, zanim zapisana odpowiedź zostanie ponownie użyta. Może się to zdarzyć nawet wtedy, gdy zwykła polityka świeżości odpowiedzi pozwalałaby na ponowne użycie.

Walidator pozwala pamięci podręcznej efektywnie sprawdzić niezmieniony obraz. Odpowiedź 304 może potwierdzić zapisaną reprezentację bez ponownego przesyłania bajtów obrazu ze źródła. Ruch do źródła nie oznacza więc sam w sobie, że obiekt w pamięci podręcznej został odrzucony.

Porównaj normalne ponowne użycie i jawne odświeżenia podczas przeglądu polityki.

Powiązane artykuły