Просматривает ли обслуживаемый кэшированный файл, если его имя или содержимое изменяются?
Два общих вопроса, которые меня интересуют, касаются обоих случаев для данного файла (.js, .css и т. Д.), Где вы установили заголовок expires, а также когда вы этого не сделали:
Браузеры запрашивают новый файл (НЕ обслуживающий кэшированный), только если имя файла изменилось? Браузер тоже не оценивает содержимое файла, верно?
Все ли браузеры ведут себя одинаково в отношении вопроса № 1, или есть различия между ними, например, на мобильных устройствах (iOS Safari и т. Д.)?
спасибо тим
1 ответ
Браузер не может проверить содержимое файла, пока не загрузит файл. (Например, браузер не запрашивает контрольную сумму). Обычно он делегирует задачу проверки содержимого (или проверки временных меток) серверу. Браузер отправит заголовок if-updated-Since с отметкой времени. Веб-сервер проверит, изменился ли файл, и если нет, он отправит код 304 без изменений.
Все браузеры следуют этому основному протоколу. Серверы могут отличаться в зависимости от того, как они решили, изменился ли файл.