HTTP Истекает заголовок, который не уважает браузер?

Вот как я это сделал:
Если ветвь my_branchname была включена в слияние, которое было отменено. И я хотел отменить my_branchname:

Я сначала делаю git checkout -b my_new_branchname из my_branchname.
Затем я делаю git reset --soft $COMMIT_HASH, где $COMMIT_HASH - хеш коммита права коммита до первого коммита my_branchname (см. git log)
. Затем я делаю новый commit git commit -m "Add back reverted changes"
Затем я поднимаю новую ветвь git push origin new_branchname
Затем я сделал запрос на извлечение новой ветки.

19
задан BartoszKP 23 January 2014 в 20:09
поделиться

3 ответа

Браузер игнорирует заголовок Expires, если вы обновляете страницу. Он всегда проверяет, действительна ли запись кеша, связываясь с веб-сервером. В идеале он будет использовать заголовок запроса If-Modified-Since, чтобы сервер мог вернуть '304 Not modified', если запись в кэше все еще действительна.

Вы не устанавливаете заголовок Last-Modified, поэтому браузер имеет для выполнения безусловного GET содержимого, чтобы гарантировать его актуальность.

Некоторые практические правила для установки Expires и Last-Modified описаны в этом сообщении блога:

http://blog.httpwatch.com / 2007/12/10 / two-simple-rules-for-http-caching /

16
ответ дан 30 November 2019 в 04:12
поделиться

Что вы делаете в своем браузере? Похоже, вы нажимаете кнопку перезагрузки или даже что-то вроде shift + Reload. Обычно браузер не отправляет заголовок Cache-Control: max-age = 0 . Это означает, что браузер выбросил кэшированное изображение и хочет получить его снова.

Если вы просто перейдете на другую страницу, а затем вернетесь обратно, браузер должен учитывать ваш заголовок Expires.

Кроме того, вы можете добавить Cache-control: public заголовок к вашему ответу. Это позволяет прокси и браузеру явно кэшировать изображение.

13
ответ дан 30 November 2019 в 04:12
поделиться

Похоже, что сценарий CGI имеет параметр отметки времени ... он не меняется, не так ли? Браузер должен обрабатывать каждый уникальный URL-адрес как отдельный объект в кэше, поэтому, если он обновляется при каждом запросе, он не будет соответствовать кэшированному изображению.

Кроме того, поле Expires не совсем в формате RFC 1123 , потому что для даты нужны две цифры. Это может быть, а может и не быть проблемой, но это нужно проверить. Браузер включает Cache-Control: max-age = 0 , что означает, что он считает свой кеш потенциально устаревшим.

Как только сервер получит этот запрос на проверку, он может вернуть 304 (Не изменено) или 200 (ОК) , как это делается в настоящее время.

0
ответ дан 30 November 2019 в 04:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: