Подтвердить что ты не робот

Кэширование Chrome, как безумный браузер

У меня есть веб-сервис, который, как и большинство других, использует js и css файлы. Я использую старый трюк добавления номера версии в файл js и css, например;? v = 123, и это изменяется каждый раз, когда мы обновляем службу при производстве.

Теперь это отлично работает во всех браузерах, кроме Chrome. Кажется, что Chrome предпочитает кешированную версию, чтобы получить новую, и поэтому кажется, что игнорирует добавленную переменную. В некоторых случаях принуждение к обновлению кеша (cmd + r/ctrl + f5) было недостаточным, поэтому мне пришлось перейти к настройкам и очистить кеш для загрузки нового содержимого.

Кто-нибудь испытал эту проблему с Chrome? И если да, то какова была резолюция проблемы?

4b9b3361

Ответ 1

Chrome, безусловно, должен обрабатывать запросы с различными строками запросов в виде разных запросов; кешированный результат для style.css?v=123 никогда не должен использоваться для style.css?v=124. Если вы видите другое поведение, напишите ошибку в http://new.crbug.com/ и разместите здесь идентификатор ошибки.

Тем не менее, я должен сначала проверить, была ли страница кэширована дольше, чем вы ожидали. Если новая версия самой страницы не была загружена, она все равно будет запрашивать ?v=123, поскольку HTML не изменился бы. Если вы отправляете долговечные заголовки кеша со страницей, возможно, что Chrome кэширует ее более агрессивно, чем вы ожидали. Если это поведение вы видите, пожалуйста, назовите http://crbug.com/8742 для обновлений.

Ответ 2

У меня тоже был этот опыт.

Я запустил сайт членства, на котором отображается контент, например "Вы должны войти в систему как золотой участник, чтобы просмотреть этот контент", если они не вошли в систему или не пытаются просмотреть контент, не разрешенный уровнем их членства. Но даже если пользователь вошел в систему, пользователь все равно увидит "вам нужно войти" из-за агрессивного кэширования Google Chrome. Однако в Firefox он отлично работает, когда я тестирую вход в и из всех 5 уровней членства, каждый из которых отображает правильный контент.

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

Ответ 3

У меня был такой же опыт

Вы можете использовать Ctrl + Shift + R для просмотра без кеша в Chrome + Mozilla.