Гугл Хром; обновление не отправляет заголовок If-Modified-Since - PullRequest
2 голосов
/ 23 октября 2009

Поскольку я в настоящее время занимаюсь разработкой веб-сайта, который просто должен быть способен более или менее безупречно работать в условиях большого стресса и перехода от сценария автоматического тестирования, я бы попробовал простое нажатие и удержание 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?

Ответы [ 2 ]

2 голосов
/ 24 октября 2009

Это может быть проблема с дизайном. Браузеры часто отправляют разные запросы при обновлении; например, попробуйте нажать Ctrl + F5 в IE, и вы увидите, что IE затем делает безусловный HTTP-запрос.

Отправляете ли вы правильные HTTP-директивы кеширования в ваших ответах так, что их свежесть не нуждается в проверке? http://www.fiddler2.com/redir/?id=httpperf

0 голосов
/ 24 октября 2009

Вы делаете Shift-F5 или Ctrl-F5? Если так, то может показаться, что , то есть по замыслу . Иначе это может быть ошибкой.

...