Вычисление устаревания

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

Возраст вычисляется по алгоритму, описанному в разделе 13.2.3, а этот раздел описывает, как вычислять срок службы, и определять, не устарел ли ответ.

В следующем описании значения могут представляться в любой форме, подходящей для арифметических действий.

Термин expires value представляет значение заголовка Expires. Термин max age value применяется для указания значения числа секунд, представленного директивой max-age заголовка Cache-Control ответа. Директива max-age имеет приоритет над Expires. Таким образом если в ответе присутствует max-age, то вычисления просты freshness lifetime max age value В других случаях, когда в ответе присутствует Expires, вычисления таковы freshness lifetime expires value - date value Ни одно из этих вычислений не уязвимо от рассинхронизирования часов, так как вся информация поступает от первоначального сервера.

Если ни Expires, ни Cache- Control max-age не встречаются в ответе, и ответ не содержит других ограничений кэширования, то кэш может вычислить срок службы, используя эвристику. Если это значение больше 24-х часов, то кэш должен присоединять Warning 13 к любому ответу, чей возраст больше 24-х часов, если такое предупреждение еще не было добавлено.

Также если ответ имеет время последнего изменения Last-Modified, то эвристическому значению времени устаревания следует принимать значение не более некоторой части временного интервала, прошедшего этого времени. Типичная значение этой части могло бы быть 10 . Вычислить, истек ли ответ, совершенно просто response is fresh freshness lifetime current age 13.2.5