+  HandyCache форум
|-+  Главная категория» Общие вопросы» Ответ "304 Not Modified (HC)"
Имя пользователя:
Пароль:
Страниц: 1 2 [3] 4 5  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Ответ "304 Not Modified (HC)"  (Прочитано 58043 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #40 : 27 мая 2007, 20:05:02 »

Что-то я не очень понимаю проблему.

Если файл не берется из кэша HandyCache, а дается ответ "304 Not modified (HC)" - значит браузер послал запрос с "If-Modified-Since" и:
- или URL попал под правила списков "Не обновлять"/"Только из кэша" (и HC даже не заглядывая в кэш ответил 304);
- или дата в запросе If-Modified-Since более свежая чем дата файла в кэше HC.

И, соответственно, если taimael вручную поместил файл в кэш, но он не берется, и при этом списки "Н" и "Т" не срабатывают - значит нужно обратить внимание на дату файла помещенного в кэш.

Или я что-то не так понял?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #41 : 28 мая 2007, 00:13:01 »

- или дата в запросе If-Modified-Since более свежая чем дата файла в кэше HC.

В текущей реализации HC вообще не сравнивает дату в IMS с датой файла в кэше! Это пока только было предложено Михаилом на 1 странице этого топика. Там же есть комментарии о побочном эффекте данной доработки...

И, соответственно, если taimael вручную поместит файл в кэш и отключит списки "Н" и "Т", то HC просто транслирует запрос браузера с IMS на сервер. А тот либо велит браузеру взять файл из его кэша, либо пришлет новый. Т.о. исправленный taimael файл из кэша HC браузеру при любом раскладе не достанется! Единственный выход - очистить кэш браузера и включить списки "Н" и "Т"...
Сообщить модератору   Записан
taimael
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #42 : 28 мая 2007, 14:25:41 »

...если taimael вручную поместит файл в кэш и отключит списки "Н" и "Т", то HC просто транслирует запрос браузера с IMS на сервер. А тот либо велит браузеру взять файл из его кэша, либо пришлет новый. Т.о. исправленный taimael файл из кэша HC браузеру при любом раскладе не достанется! Единственный выход - очистить кэш браузера и включить списки "Н" и "Т"...

вот ведь DenZzz жук! Улыбка
все понимает, и даже механику всю расписать смог...
и продолжает утверждать что проблемы нет Улыбка)

- Сначала в Опере сохранить сессию: "Файл / Сессии / Сохранить сессию";
- Потом закрыть все страницы, использующие скрипт;
- Потом очистить кэш браузера, как описано выше;
- Открыть в браузере сохраненную сессию.

а в сессии у меня 200-300 страниц
загружается с raid0 3-5 минут
тебе прикол и незначительная проблема где-то там за горизонтом
а мне обидно и причем весьма Улыбка

И еще вопрос - чем нужно занимать, чтобы понадобились такие извращения? Веб-дизайном? Тогда может проще добавить в белый список эти сайты?

какой веб-дизайн?
увидел что скрипт на страничке работать перестал - обновился
загрузил его в мониторе руками по правой мыше
перегружаю страницу из кеша, а браузеру скрипт не отдается
загрузил в тунеле сжатую картинку
понадобилась она же несжатая
загрузил ее в качалке (с оперы то теперь ее и не загрузишь если только все правила не перекопать! а картинки еще и большие, на gprs до конца не скачиваются-обрываются, а докачки в HC до сих пор так и нет...), подсунул ее в кеш
перегружаю страницу из кеша, а браузеру картинка не отдается

а инет на gprs по 9 руб между прочим
отрубить все правила и загрузить страницу полностью с инета со всеми скриптами или картинками однако немного дорого
вот вопрос, НС создан для экономии денаг или как?
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #43 : 28 мая 2007, 16:37:37 »

taimael
Изредка у меня бывает, что, например, картинка недокачивается. Просто Обновление страницы не помогает - 304 (НС). Помогает "Загрузить в кэш" в HC (в твоем случае не надо если ты вручную файл в кэш закинул) и в Опере "Показать рисунок" (что равнозначно скопировать URL и открыть его на _новой_ вкладке) - и нормально обновленная картинка берется из кэша HC. Главное условие - новая вкладка.
Сообщить модератору   Записан
Vat
Гость
« Ответ #44 : 13 февраля 2008, 01:15:45 »

Версия HC 1.0.0.21.
Столкнулся с глюком(?).

Ситуация:
Сайт odnoklassniki.ru.
Создал правило в "преобразование URL": #5#~#True#~#.*\.(odnoklassniki\.ru)#~#odnoklassniki.ru#~#False#~#True , так как однокласники любят создавать урлы вроде c25.odnoklassniki.ru.
Правило срабатывает, жалоб нет.

Дальше, в "Не обновлять" стоят галочки на "Разрешен" и "Разрешить" (в "Не обновлять свежие файлы").
На 4-е правило (в "Не обновлять") по умолчанию (\.(bmp|gif|i[mp]g|jpe?g|png|svgz?|swf|tiff?|wmf)(\?|$)) поставил критерий свежести 48:00.

Вышло так, что часть файлов с однокласников уже попала в кеш броузера(IE), часть - в кеш HC.

И что имеем:
1. На тех картинках, которые есть в кеше HC, и на которые срабатывает правило преобразования, описанное выше, пишет в ответе ""304 Not Modified (HC)" (как, по идее, и должно быть).
2. На тех картинках, которые есть в кеше броузера, но которых нет в кеше HC, и на которые срабатывает правило преобразования, описанное выше, пишет в ответе ""304 Not Modified" и в "отправлено" есть байты, которые были отправлены через инет.
При последующей перегрузке броузера эти два пункта так же само выполняются. То есть картинка, лежащая в кеше броузера, но отсутствующая в кеше HC, если над урлом происходит преобразование, в кеш HC так и не попадает и всегда идет запрос на сервер.

Я убил полностью кеш броузера, и все стало хорошо Улыбка. Но сам факт...

Промучился около часа, вычисляя ошибку, пока не осенило убить кеш броузера Улыбка
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #45 : 13 февраля 2008, 07:54:04 »

Промучился около часа, вычисляя ошибку, пока не осенило убить кеш броузера

Если бы сначала почитал ФАК, то "осенило" бы гораздо раньше!
- ФАК: HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified"! Процент "экономии" очень низкий! Почему?
Сообщить модератору   Записан
Vat
Гость
« Ответ #46 : 13 февраля 2008, 09:48:07 »

Ага.
Спасибо за ответ.

Что-то я на самом деле был не сильно внимателен при чтении FAQ-а. мдэ...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #47 : 03 июня 2008, 02:06:01 »

Чтобы повысить актуальность проблемы и убедить в необходимости принятия мер реагирования, приведу сходный пример действия того же бага НС. Здесь ситуация не будет казаться малоестественной (ну разве что срок для выразительности преувеличу).

НС стоит на сервере локальной сети. В списке Н правило site\.ru с критерием свежести 7 дней.
Пользователь Вася грузит страницу site.ru. В кэше НС ее нет, и она туда записывается. Одновременно она записывается в собственный кэш Васиного клиента.
В течение следующих 365 дней Вася эту страницу не смотрит. Однако ее регулярно смотрят другие пользователи. Пусть на 8-й день ее посмотрел Петя. Т.к. срок свежести истек, страница обновилась в кэше НС. После этого она обновлялась еще много раз. И тут через год ее снова хочет открыть Вася. В кэше Васиного клиента остался старый экземпляр, и он шлет к НС запрос с If-Modified-Since. Каково же будет удивление Васи, когда он увидит страницу годичной давности, выдаваемую по милости НС за свежую!
Мало того. Кроме Васи эту же страницу не сможет видеть "свежей" ни один периодически заходящий на нее пользователь с собственным кэшем, за исключением юзера, который случайно запросит ее первым после очередного истечения критерия свежести!

При подключении к НС нескольких клиентов с собственными кэшами использование критериев свежести списка Н приводит к выдаче неактуального контента ВСЕМ таким пользователям на совместно посещаемых сайтах.
Сообщить модератору   Записан
mike2003
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #48 : 15 июля 2008, 11:24:10 »

стояла 9.27 проблем не было
тут обновил оперу до 9.51
стали исчезать картинки

открываю старницу, картинки в опере включены и в кеше НС лежат, но в опере их не показывает, даже релоад не помогает
смотрю в монитор а там 304 not modified
раньше вроде шел прямой запрос и бралось из кеша (к примеру 200 from ram cache)...

может кто поможет разобраться?
даже щас делаю релоад смайликам, а том вместо релоада идет запрос на обновление.... 304...

честно говоря уже не знаю точно какие запросы раньше то были, но пустых мест под картинки точно не было - уж если что то и не грузилось, то на это были веские причины....
а так не грузяться, потом грузяться, потом опять замечаю какие то исчезли...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #49 : 15 июля 2008, 12:20:50 »

Забери строку монитора командой Копировать строку монитора и покажи ее здесь.
Сообщить модератору   Записан
mike2003
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #50 : 15 июля 2008, 13:42:17 »

15.07.2008/13:55:31 local/127.0.0.1 http://handycache.ru/forum/Themes/SlickPro_Graphite/images/email_sm.gif 0 0/97 0 0 "304 Not Modified (HC)" Н.2
Н.2 (Не обновлять): (.)*\.(jpg|jpeg|png|gif|bmp|swf|ico)
вот как то так...

я посомтрел на работе ( там пока старая опера ) запросы те же 304...
я бы подумал что проблема в опере 9.5, но если пустить оперу в обход НС то картинки она грузит, а если через НС то в мониторе такой вот типа запрос но в опере пустое место, самое интересное что трудно отследить... такие вещи то исчезают, то появляются....
вот к примеру полез я на сайт операфанов, так там вообще только одна картинка в баннере подгрузилась...
не могогало не переключение режима картинок в опере, не релоад страницы
пришлось отключать прокси и грузить в обход...
новая опера недавно, но готов до последнего выяснять в  чем дело ))

щас еще потыкал (на работе) по логике правильно вроде все
есть картинка у оперы - в мониторе 304
удалил кеш оперы, запросил релоад картинки - 200...

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

от чего зависит 304 или 200... от оперы или НС?
и почему она в обход НС загружает нормально?
« Последнее редактирование: 15 июля 2008, 13:52:02 от mike2003 » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #51 : 15 июля 2008, 14:24:57 »

Цитировать
есть картинка у оперы - в мониторе 304
удалил кеш оперы, запросил релоад картинки - 200...
Так и должно быть раз картинки в списке Не обновлять.
Цитировать
может у оперы новой кеш подглючивает... картиник нет, а она шлет проверку как будто есть...
Может и подглючивает. Я какое-то время пользовался версией 9.51, таких проблем не было. Может надо попробовать на новый профиль переставить?
Цитировать
от чего зависит 304 или 200... от оперы или НС?
От обоих. От наличия If-Modified в запросе оперы и правил списка Не обновлять.
Раз НС отвечает 304, судя по всему If-Modified в запросе оперы есть (можно посмотреть лог НС).
Цитировать
и почему она в обход НС загружает нормально?
В обход же нету списка Не обновлять. Выключи его в НС и через него будет грузить.
Сообщить модератору   Записан
mike2003
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #52 : 15 июля 2008, 14:52:52 »

не, ну мне то как раз надо что б не обновлял то что уже закачано и лежит на диске у НС, ладно будем пока статистику собирать может че и проясниться
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #53 : 15 июля 2008, 15:13:10 »

Бывает, что к НС со стороны сервера идет ответ с Connection: close и без указания длины. Посреди передачи ответа может произойти разрыв соединения со стороны НС (пользователь нажал "Остановить" в мониторе) или сервера (например, слишком много одновременных соединений НС с ним установил). В этом случае НС закрывает соединение с браузером, а браузер остается свято верить, что это нормальное завершение ответа, сохраняет этот обрубок в кэш и при последующих запросах использует его как полноценный файл.
Не знаю, относится ли к этой категории рассматриваемый случай. Со следующей сборки количество таких случаев уменьшится для клиентов HTTP 1.0 (Опера тоже иногда работает в этом режиме), т.к. НС станет запрашивать у сервера данные только по НТТР 1.1 независимо от версии протокола браузера.
Сообщить модератору   Записан
Владимир Иванович
Гость
« Ответ #54 : 05 августа 2009, 04:59:00 »

Проблема возникает в Автономном режиме. ИЕ не хочет обновляться из кеша НС.
В кеше находится более свежая страница, но сколько не нажимай Ф5 ИЕ загружает старую страницу из своего кеша.
Если переключить не в автономный режим, то всё нормально и ИЕ обновляет страницу.

Проблема в том что в автономном режиме НС выдает "304 Not Modified (HC)" и ИЕ не запрашивает страницу а загружает из своего кеша.

Можно ли как-то регулировать выдачу НС ответа "304 Not Modified (HC)" в автономном режиме,
Чтоб он всегда выдавал из своего кеша как будто он скачал с нета "200 ОК" Непонимаю
Сообщить модератору   Записан
Владимир Иванович
Гость
« Ответ #55 : 05 августа 2009, 05:06:14 »

Да я хотел добавить, что в НС точно находится более новая страница. она там появилась так как я пользовался другим браузером.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #56 : 05 августа 2009, 08:57:55 »

В кеше находится более свежая страница, но сколько не нажимай Ф5 ИЕ загружает старую страницу из своего кеша.

В IE жми CTRL+F5 , когда надо загрузить страницу не из собственного кэша браузера.

Добавлено: 05 Августа 2009, 09:46:35

Можно ли как-то регулировать выдачу НС ответа "304 Not Modified (HC)" в автономном режиме,
Чтоб он всегда выдавал из своего кеша как будто он скачал с нета "200 ОК" Непонимаю

Можно с помощью расширения HC, но не нужно! Это снизит эффективность собственного кэша браузера и увеличит нагрузку на диск с кэшем HC.
Подробнее читай в теме: "Увеличение эффективности кэша клиента (I-M-S, I-N-M, Expires и т.п.)".
Сообщить модератору   Записан
Владимир Иванович
Гость
« Ответ #57 : 06 августа 2009, 02:01:19 »

В IE жми CTRL+F5 , когда надо загрузить страницу не из собственного кэша браузера.
Да, это работает, спасибо не знал.

Можно с помощью расширения HC, но не нужно! Это снизит эффективность собственного кэша браузера и увеличит нагрузку на диск с кэшем HC.
Подробнее читай в теме: ххххх
Темка что Вы привели довольно большая, и мне трудно так сразу найти, как отключить 304 Not Modified (HC) в автономном режиме. Буду разбираться...
А потеря некоторой эффективности меня не сильно беспокоит, так как все находится на локальном компе.

DenZzz, в любом случае, большое Вам спасибо за быстрый и квалифицированный ответ.
С уважением.
Сообщить модератору   Записан
mih
Пользователь
**

Репутация: +3/-0
Offline Offline

Сообщений: 97


« Ответ #58 : 25 января 2010, 16:37:12 »

Дано:

страница:
http://radikal.ru/GALLERY/PageF4G.aspx?i=d46d623386be45d5934dd7c237babfcc
HandyCache RC3.1.0.0.252
браузер Opera (конкретно - 9.64)
страницы нет в кеше HC (просто я её не кеширую, он пустой)
галка "не обновлять" — может стоять, может не стоять — всё равно.
галка "чтение из кеша" — сброшена,
галка "только из кеша" — сброшена.

Заметил, что:
при первом обновлении (F5) страницы —
практически все вторичные файлы не обновляются
(запрос в сеть посылается, ответ "client disconnected")
(как и должно быть, там есть If-Modified-Since, If-None-Match);

но при дальнейших обновлениях (подряд, если делать без больших пауз) —
все файлы уже постоянно читаются из сети !
Если сделать паузу (больше 30 сек) —
ситуация повторяется: есть "первое" обновление, и есть "последующие" —
с разными результатами.

Если всё то же самое проделать в IE6 (другого у меня нет),
(и опять:
страницы нет в кеше HC
галка "чтение из кеша" — сброшена.)
ЛЮБОЕ обновление приводит к "304 Not Modified" из сети,
а сами файлы НИКОГДА не перечитываются —
т.е. и ответ сервера, и результат обновления несколько иной.
Почему?

Но:

с IE6 другая странность, совсем уж НЕОБЪЯСНИМАЯ:

Если поставить галки "чтение из кеша" и "не обновлять" — то
HC сам даёт ответ "304 Not Modified, HC" (как и в случае с Оперой),
НО: перестают действовать правила из списка "не обновлять" 7 и 8,
т. е.: \.css(\?|$)  и  \.js(\?|$)     !!!
Поэтому для файлов.js и .css  запрос проходит в сеть, и ответ уже без "HC":
"304 Not Modified" !

А такое же правило для картинок \.(bmp|gif|i[mp]g|jpe?g|png|svgz?|swf|tiff?|wmf)(\?|$)
— действует!  Клянусь!

Для того, чтобы не обновлялись файлы .JS и .CSS
приходится вводить правила  \.js  и \.css (без скобок с выбором на конце),
и они начинают работать, как надо!
Трудно поверить — но это я проверил многократно.

Как такое может быть?

Если нужны логи, могу сделать, но там ничего не будет о списке
"не обновлять", поэтому не знаю, как доказать.
« Последнее редактирование: 25 января 2010, 17:01:00 от mih » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #59 : 25 января 2010, 22:41:11 »

(запрос в сеть посылается, ответ "client disconnected")
(как и должно быть, там есть If-Modified-Since, If-None-Match);

А кто сказал, что так и должно быть? Надпись "client disconnected" - это не ответ сервера, а всего лишь констатация факта, что браузер отключился, не заслушав ответ сервера. Вполне возможно, что Опера просто забросила дубли запросов, которые она насоздавала по разным соединениям. Почему Опера очень любит так делать, надо спрашивать у ее создателей...

Цитировать
но при дальнейших обновлениях (подряд, если делать без больших пауз) —
все файлы уже постоянно читаются из сети !

Дай угадаю... У тебя работают расширения из соседней темы, которые удаляют заголовки If-Modified-Since и If-None-Match?

Цитировать
ЛЮБОЕ обновление приводит к "304 Not Modified" из сети,
а сами файлы НИКОГДА не перечитываются —
т.е. и ответ сервера, и результат обновления несколько иной.
Почему?

Известны случаи, когда серверы в инете ведут себя по-разному с разными браузерами. Кто виноват в данном конкретном случае, надо смотреть. Если заголовки запросов у тебя идентичны, то вероятно виноват сервер сайта, по-разному реагирующий на User-Agent разных браузеров.

Приложи отладочные логи HC для разных браузеров и свои расширения, правящие заголовки, посмотрим...

Цитировать
с IE6 другая странность, совсем уж НЕОБЪЯСНИМАЯ:

Эта "НЕОБЪСНИМАЯ" странность давно ОБЪЯСНЕНА В ФАКЕ! Читай про работу списка "Не обновлять" и его колонку "КРИТЕРИЙ СВЕЖЕСТИ".
Сообщить модератору   Записан
Страниц: 1 2 [3] 4 5  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: