Срок действия кеша браузера по умолчанию для text / html - PullRequest
9 голосов
/ 04 декабря 2010

Если в ответе HTTP нет заголовков, связанных с истечением срока действия кэша (кроме Date, Last-Modified и ETag), каков будет срок действия ресурса, если его Content-Type равно text / html?

Зависит ли это от браузера?

Ответы [ 2 ]

6 голосов
/ 04 декабря 2010

Из спецификации HTTP / 1.1 для кэширования ответов :

Если с ответом не связаны ни валидатор кэша, ни явное время истечения срока действия, мы не ожидаем, что он будет кэширован, но некоторые кэши МОГУТ нарушать это ожидание (например, когда сетевое подключение мало или отсутствует).

Это теория, но у меня нет никакой информации о реальном поведении.

3 голосов
/ 04 декабря 2010

Я вполне уверен, что это в значительной степени оставлено на усмотрение браузера. Они пытаются найти баланс между «не запрашивать один и тот же HTML-файл каждый раз, если нам не нужно» и «не пропустить обновления, если веб-мастер был просто некомпетентен». В старину пространство было также проблемой, поэтому пользователи могли поиграть с небольшим слайдером, чтобы установить использование кэша - если бы вы могли установить его до 500 МБ, вы были бы счастливчиком!

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

Я всегда рассматривал заголовки кэша как утвердительную декларацию - этот ответ хорош как бы долго, или он хорош только один раз. Но так или иначе, это определено. Если бы он оставался неопределенным, я бы не стал доверять его очистке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...