używam Google Chrome i zauważyłem, że za każdym razem robię żądanie XHR otrzymuję następujące nagłówki wprowadzone na życzenie:jQuery XmlHttpRequest Cache-Control ignorowane
Cache-Control: no-cache
Pragma: no-cache
Jeśli czytasz na spec http://www.w3.org/TR/XMLHttpRequest/ mówi następujących
Jeśli aplikacja kliencka realizuje cache HTTP powinna być uznawana nagłówki cache-Control w nagłówkach żądania autor (np cache-Control: no-cache omija cache). Nie może wysyłać nagłówków żądania Cache-Control lub Pragma automatycznie, chyba że użytkownik końcowy wyraźnie zażąda takiego zachowania (np. Poprzez ponowne załadowanie strony).
Dobrze usiłuję następujące:
$.ajax(myUrl, {
type: 'get',
dataType: 'json'
cache: true,
headers: {
'Cache-Control': 'max-age=200'
}
})
Jak widać jestem jawnie ustawienie nagłówka Cache-Control, w nadziei na uzyskanie pamięci podręcznej kopię mojego zasobu. Cóż Chrome wydaje się ignorować nagłówek Cache-Control.
Czy podczas wysyłania żądania XHR nie można wysłać nagłówka Cache-Control: no-cache
?
Tak, pamiętaj, że Firebug ma również "Wyłącz pamięć podręczną przeglądarki" w menu "Sieć". Ja też zostałem ukąszony przez to. – harpo
Próbuję dowiedzieć się, dlaczego funkcja native fetch() nie zwracała danych z pamięci podręcznej, nawet jeśli nagłówki Cache-Control były poprawnie ustawione przez serwer. Dziękuję za pomoc w naprawieniu tego niedopatrzenia, doprowadzało mnie to do szału. –
Spędziłem tak długo próbując to wyśledzić. Dziękuję Ci! –