Каково точное поведение Firefox при обновлении страницы в отношении кэшированного ресурса в разделе «Cache-Control: no-cache»?

#firefox #caching #cache-control #etag

#firefox #кэширование #cache-control #etag

Вопрос:

Каково точное поведение Firefox при обновлении страницы в отношении кэшированного ресурса в разделе Cache-Control: no-cache ? Где я могу найти документ, который его определяет?

В MDN относительно того, как Cache-Control: no-cache должно работать, я вижу, что «сохраненный ответ всегда должен сначала проходить проверку на исходном сервере, прежде чем использовать его». Браузеры используют etags для этого.

(Примечание: Cache-Control: no-cache на самом деле позволяет кэшировать; это не так no-store ; не хочу, чтобы это сбивало с толку любые ответы.)

Я создаю веб-сайт, который имеет обычный <link> для основного файла css, с Cache-Control: no-cache , и иногда Firefox выполняет запрос, как указано («запрос etag»), который обычно приводит к 304 (или 200 с содержимым, если нет).).

Но иногда Firefox избегает такого запроса «etag», особенно когда я нажимаю F5 для выполнения обычного обновления. Chrome и Edge, похоже, всегда выполняют эти «запросы etag», как я и ожидал.

Похоже, это противоречит MDN. Каково предполагаемое поведение и где оно задокументировано?И, наконец, есть ли способ заставить Firefox запрашивать etag при каждом обновлении F5?

Вот скриншоты поведения: сначала запрос, а затем после нажатия F5 для обновления: первая загрузка
вторая загрузка

Комментарии:

1. Перекрестная публикация: support.mozilla.org/en-US/questions/1317462