Po przeczytaniu o Cache-Control
polu nagłówka HTTP,
Rozumiem, że Cache-Control
w nagłówku odpowiedzi HTTP (serwer do klienta) określa wytyczne dla przeglądarki pośrednie serwery proxy / klienta o tym, jak poradzić sobie z odpowiedzi, wysyłając różne wartości dla Cache-Control
pola: private
, public
, no-cache
, lub no-store
w nagłówku odpowiedzi.
Ale nie rozumiem, dlaczego musimy wysłać Cache-Control
atrybut w nagłówku żądania (klient do serwera)?
źródło
Klient może wysłać
Cache-Control
nagłówek w żądaniu, aby zażądać określonego zachowania buforowania, takiego jak ponowna walidacja, z serwera pochodzenia i dowolnych pośrednich serwerów proxy wzdłuż ścieżki żądania.źródło
Oprócz powyższej odpowiedzi
może istnieć konfiguracja, w której zaimplementowano łańcuch pamięci podręcznej. W takim przypadku, jeśli żądanie dotrze do pierwszej pamięci podręcznej, w której nie jest spełnione, może przejść do dalszej pamięci podręcznej połączonej z łańcuchem.
Dlatego, aby zawsze uzyskiwać odpowiedź z serwera, w nagłówkach żądań umieszczamy kontrolę pamięci podręcznej. Dzięki temu odpowiedź będzie zawsze pochodzić z serwera.
źródło
Cache-Control: no-cache
poinstruuje serwery proxy, aby upewnić się, że odpowiedź jest do końca zweryfikowana.