У меня есть клиент, чей сайт index.html в настоящее время возвращается с этими заголовками:
Accept-Ranges: байты Подключение: Keep-Alive Контент-кодировка: gzip Контент-длина: 3658 Тип контента: текст / HTML Дата: четверг, 10 октября 2013 г. 07:36:27 GMT ETag: "4aa95e1-2ed2-4e721324728b7" Keep-Alive: тайм-аут = 5, максимум = 100 Последнее изменение: вторник, 24 сентября 2013 г., 13:34:30 по Гринвичу Сервер: Apache / 2.2.22 Варьируется: Accept-Encoding, User-Agent
Очевидно , я буду рекомендовать , что они добавляют Expires
или Cache-Control
в зависимости от обстоятельств, но я смущен: Хром кэширует этот ресурс и использует его из кэша (не посылает запрос на все ), даже после нескольких часов (например, он повторно копии он кэшировался вчера в 13:30 сегодня утром в 8:30). Я могу видеть это довольно ясно на вкладке Network консоли Chrome, где он показывает запрос и имеет 200 (OK)
серый цвет в столбце Status и (from cache)
в столбце Size . (Я не изменил настройки кэширования Chrome.)
Я понимаю, что спецификация позволяет пользовательским агентам принимать собственные решения в отсутствие указаний заголовков. Это то, что здесь происходит? Chrome видит, что он был последний раз изменен несколько дней назад, и может свободно использовать версию, которая, скажем, устарела? Или мне чего-то не хватает?