Гугл Хром; обновление не отправляет заголовок If-Modified-Since
-
05-07-2019 - |
Вопрос
Поскольку в настоящее время я занимаюсь разработкой веб-сайта, который просто должен быть способен более или менее безупречно работать в условиях большого стресса и перехода от сценария автоматического тестирования, я бы попробовал простое нажатие и удержание F5 для нескольких -seconds-in-my-favourite-browser, и здесь я обнаружил странное наблюдение в Google Chrome:
Если вы выполните вышеизложенное, Chrome пропускает отправку заголовка If-Modified-Since, и веб-сервер вынужден извлечь страницу, которую вы хотите отобразить, в результате чего код состояния 200 вместо ожидаемого 304.
В IE8 (и, возможно, также в более ранних версиях) эта проблема отсутствует .
Попробуйте эту простую страницу: http://www.w3.org/ Protocols / rfc2616 / rfc2616-sec10.html , а затем внимательно изучите страницу с помощью Fiddler; странно, да?
Мой вопрос это по замыслу или ошибка от Google?
Решение
Это может быть проблема с дизайном. Браузеры часто отправляют разные запросы при обновлении; например, попробуйте нажать Ctrl + F5 в IE, и вы увидите, что IE затем делает безусловный HTTP-запрос.
Отправляете ли вы правильные HTTP-директивы кэширования на ваши ответы, чтобы их свежесть не нуждалась в проверке? http://www.fiddler2.com/redir/?id=httpperf р>
Другие советы
Вы делаете Shift-F5 или Ctrl-F5? Если это так, то может показаться, что это по замыслу а>. В противном случае это может быть ошибкой.