Firefox не выполняет повторную проверку статических файлов из дочерних фреймов - PullRequest
0 голосов
/ 05 сентября 2011

Я работаю с приложением, в котором есть iframe - и для внешнего html-тела, и для фрейма требуются определенные файлы javascript и CSS. Чтобы сократить время загрузки, все эти статические файлы имеют срок годности, установленный через год, и, по сути, должны загружаться из кэша для обычных обращений к страницам - что является ожидаемым поведением в IE8 и FF3.6

Однако, как только я перезагружу / обновлю (F5) страницу, я ожидаю, что браузеры отправят на сервер запросы «If-updated-Since» для этих файлов. IE8 отправляет запросы на все файлы, используемые как снаружи, так и внутри iframe. Но FF3.6 только отправляет запросы на файлы, используемые снаружи (не для файлов, используемых в iframe, он просто загружает их из кэша!).

Заголовки ответов одинаковы для всех файлов независимо от того, находятся они в iframe или нет. Есть ли причина для такого поведения FF? Есть ли способ избежать этого?

Примечание: я могу добавить параметры версии к источнику или добавить папку с версией в путь и т. Д. Но я хочу знать, можно ли избежать этой причуды / имеет для этого вескую причину?

1 Ответ

0 голосов
/ 05 сентября 2011

Firefox ведет себя корректно - сервер указал, что сценарии годны, поэтому нет причин отправлять бессмысленные запросы, которые тратят время, трафик и ресурсы сервера.В целях отладки вы можете удерживать нажатой клавишу Shift, нажимая кнопку «Перезагрузить», это обеспечит обновление всех данных.Однако для конечных пользователей добавление информации о версии в URL (например, http://example.com/.../script.js?version=1.2.3), вероятно, является лучшим решением.Это гарантирует, что кэшированная версия может использоваться, пока она действительна, и новая версия загружается, как только вы обновляете скрипт.

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