Поделиться через


Взаимодействие с политикой кэша— максимальный возраст и максимальная устарелость

Чтобы убедиться, что самое свежее содержимое возвращается клиентскому приложению, взаимодействие политики кэша клиента и требований к повторной валидации сервера всегда результирует в самой консервативной политике кэша. Все примеры в этом разделе иллюстрируют политику кэша для ресурса, кэшированного 1 января, и истекает 4 января.

В следующих примерах максимальное значение устаревания (maxStale) используется в сочетании с максимальным возрастом (maxAge):

  • Если политика кэша устанавливает maxAge = 5 дней и не указывает значение maxStale, согласно значению maxAge, содержимое останется доступным до 6 января. Однако в соответствии с требованиями повторной проверки сервера содержимое истекает 4 января. Поскольку дата окончания срока действия содержимого является более консервативной (раньше), она имеет приоритет над политикой maxAge . Таким образом, срок действия содержимого истекает 4 января и должен быть изменен, несмотря на то, что его максимальный возраст не достигнут.

  • Если политика кэша устанавливается maxAge = 5 дней и maxStale = 3 дня, в соответствии со значением maxAge, содержимое может использоваться до 6 января. Согласно значению, содержимое maxStale доступно до 7 января. Таким образом, содержимое переутверждается 6 января.

  • Если политика кэша устанавливает maxAge = 5 дней и maxStale = 1 день, то в соответствии со значением maxAge содержимое будет доступно до 6 января. Согласно значению, содержимое maxStale доступно до 5 января. Таким образом, содержимое обновляется 5 января.

Если максимальный возраст меньше даты окончания срока действия содержимого, то более консервативное поведение кэширования всегда преобладает, и максимальное значение устаревших значений не влияет. В следующих примерах показано влияние установки максимального значения устаревания (maxStale) при достижении максимального возраста (maxAge) до истечения срока действия содержимого:

  • Если политика кэша устанавливает maxAge = 1 день и не указывает значение для maxStale, содержимое проверяется заново 2 января, даже если срок действия не истек.

  • Если параметры политики кэша maxAge = 1 день и maxStale = 3 дня, содержимое проверяется 2 января, чтобы соблюдать более консервативный параметр политики.

  • Если политика кэша maxAge = 1 день и maxStale = 1 день, содержимое проверяется заново 2 января.

См. также