У меня есть некоторые ресурсы изображений, которые неизменны и могут быть сохранены в кэше навсегда. Chrome, кажется, уважает мои заголовки ответа и не повторно проверяет ресурсы:
Вот пример одного из этих ресурсов в Chrome. Как видите, я включаю cache-control: public, max-age
, expires
, etag
и last-modified
, а ресурс обслуживается из «кэша памяти»:
Firefox, однако, не учитывает эти заголовки и повторно проверяет ресурсы при каждой загрузке! Мой сервер получает запрос на каждый профиль pi c каждый раз при загрузке страницы и возвращает 304:
Вот пример по такому запросу, который приводит к 304:
Я не могу понять, почему Firefox игнорирует заголовки кэша и продолжает идти на сервер для 304. Я экспериментировал с различными заголовками, связанными с кэшем, и прочитал стандарт о том, что «кешируется» . Я гарантировал, что кэширование включено в devtools. Я пытался и с закрытыми devtools, и я постоянно вижу 304 в журналах сервера.
Я обнаружил, что это происходит только на странице refre sh. Простой refre sh, однако, не команда shift или shift, а просто простой refre sh. Это не то поведение, которого я ожидал.