HandyCache форум

Главная категория => Общие вопросы => Тема начата: Михаил от 03 марта 2007, 13:34:01



Название: Ответ "304 Not Modified (HC)"
Отправлено: Михаил от 03 марта 2007, 13:34:01
DenzZzz
Раз уж встал вопрос об учете при определении процента экономии оветов "304 Not Modified" на запрос "lf-Modified-Since" клиента, то расскажи, плиз, подробнее, как работает эта опция. Давно хотел вникнуть - но все забывал спросить (исходим из того, я читал  краткое описание (http://ru.wikibooks.org/wiki/HandyCache/ToDo/Answer_304_Not_Modified), т.е. общий принцип ясен).
Интересует, как учитываются критерии свежести, когда и как выдается из кэша более новый файл, если таковой есть.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 03 марта 2007, 14:56:33
Цитата с Wiki:

Цитировать
Отвечать "304 Not Modified" на запрос "lf-Modified-Since" браузера

Если URL есть в списке "Не обновлять" или "Только из кэша", то логично просто отослать браузеру ответ "304 Not Modified".

Как происходило раньше до версии 0.98b1. Возможны 2 варианта - файл есть в кэше HC и файла нет в кэше HC:

  • В первом случае, HC повторно отдавал файл из кэша, хотя мог бы просто сказать: "304 Not Modified" и не нагружать диск и систему лишним чтением/передачей файла.
  • А во втором случае, HC транслировал запрос на удаленный сервер, но мог бы также просто сказать "304 Not Modified". Тем более, что таких запросов может быть очень много, тратя время и трафик, а в кэш HC объекты так и не попадут!

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

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


Михаил

Цитировать
Интересует, как учитываются критерии свежести, когда и как выдается из кэша более новый файл, если таковой есть.

  • Независимо от наличия файла в кэше HC если сработало правило в списке "Только из кэша" или правило БЕЗ критерия свежести в списке "Не обновлять", то HC формирует ответ "304 Not Modified", т.е. велит браузеру брать файл из его кэша.
  • Если проверяется правило с заполненным критерием свежести в списке "Не обновлять", то:
    - Если файл есть в кэше HC и его дата в кэше не просрочена по критерию свежести, то правило из списка "Не обновлять" срабатывает и HC формирует ответ "304 Not Modified", т.е. велит браузеру брать файл из его кэша.
    - Если файл есть в кэше, но его дата в кэше просрочена по критерию свежести, или критерий свежести нельзя проверить из-за отсутствия файла в кэше, то правило из списка "Не обновлять" считается НЕ сработавшим - переходим к проверке следующего правила или, если достигнут конец списка, запрос браузера транслируется на сервер.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 03 марта 2007, 22:04:37
Если файла нет в кэше HC ... то список "Не обновлять" считается НЕ сработавшим - запрос браузера транслируется на сервер.
.....
Независимо от наличия файла в кэше HC если сработало правило БЕЗ критерия свежести в списке "Не обновлять" ... то HC формирует ответ "304 Not Modified", т.е. велит браузеру брать файл из его кэша.
Так что все-таки должно происходить, когда файла нет в кэше НС?

Добавлено: И еще вопрос. Если от клиента поступило If-Modified-Since и стоит опция "Добавлять IMS", изменяется ли в этом случае исходное IMS при пересылке запроса на сервер?


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 03 марта 2007, 22:24:20
Так что все-таки должно происходить и что происходит, когда файла нет в кэше НС?

Поправил свой пост выше... Так понятнее? ;)

Цитировать
Добавлено: И еще вопрос. Если от клиента поступило If-Modified-Since и стоит опция "Добавлять IMS", изменяется ли в этом случае исходное IMS при пересылке запроса на сервер?

Нет. "If-Modified-Since" остается браузерным.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 03 марта 2007, 22:39:32
Поправил свой пост выше... Так понятнее? ;)
М-да... Неясно и так. Давай попробуем еще раз. :)
"Обычный" порядок (запрос от клиента без IMS): После проверки списка "Т" и отсутствия в нем файл проверяется на наличие его в кэше. Если есть - идет проверка списка "Н". Если нет в кэше - качаем из сети.
Если приходит запрос с IMS, этот порядок как-то меняется? Или что-то другое происходит, не пойму никак.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 03 марта 2007, 23:13:52
"Обычный" порядок (запрос от клиента без IMS): После проверки списка "Т" и отсутствия в нем файл проверяется на наличие его в кэше. Если есть - идет проверка списка "Н". Если нет в кэше - качаем из сети.
Если приходит запрос с IMS, этот порядок как-то меняется? Или что-то другое происходит, не пойму никак.

Если получен запрос с "If-Modified-Since":

1. Проверяем список Т - если сработал, то наличие файла в кэше можно не проверять, а сразу ответить браузеру "304".
2. Если Т не сработал, то проверяем наличие файла в кэше.
2а. Если файл есть в кэше, то проверяем все строки списка Н.
2б. Если файла нет в кэше, то проверяем в списке Н только строки без критерия свежести.
3. Если сработала хоть одна строка списка Н, то отвечаем браузеру "304".
4. Если список Н не сработал, грузим файл из Инета.

Вот такая логика.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 03 марта 2007, 23:46:51
DenZzz
Теперь гораздо понятней.
Да... пожалуй, когда мы в такой ситуации отвечаем "304",  то при расчете процента экономии этих телодвижений учесть никак не удастся...
Только вот такой вопрос еще:
1. Если файл есть в кэше НС, не просрочен и IMS < Даты изменения этого файла, почему мы отвечаем "304", а не отдаем файл из кэша?
2. Если файла нет в кэше НС, почему в случае наличия правила без критерия свежести мы отвечаем "304", а не лезем в сеть?
По ходу пьесы получилось, что вопросЫ :)


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 04 марта 2007, 00:06:37
1. Если файл есть в кэше НС, не просрочен и IMS < Даты изменения этого файла, почему мы отвечаем "304", а не отдаем файл из кэша?

Потому что мы ничего не знаем о том, какой "Last-Modified" имел файл, когда мы его записали в кэш HC. Вполне вероятно, что у браузера тот же файл, но закаченный мимо HC...

Цитировать
2. Если файла нет в кэше НС, почему в случае наличия правила без критерия свежести мы отвечаем "304", а не лезем в сеть?

А зачем нам лезть в сеть, если нам наплевать на свежесть этого файла, что мы и прописали в списке Н.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 00:16:56
Потому что мы ничего не знаем о том, какой "Last-Modified" имел файл, когда мы его записали в кэш HC. Вполне вероятно, что у браузера тот же файл, но закаченный мимо HC...
Почему отвергаем вероятность противоположного исхода (у клиента старый и неактуальный файл)?


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 04 марта 2007, 00:25:15
Почему отвергаем вероятность противоположного исхода (у клиента старый и неактуальный файл)?

Потому что:
1. Мы не можем это проверить.
2. У клиента есть простой способ синхронизировать кэши - принудительно очистить кэш браузера или включить его автоочистку при выходе.

P.S. Только не предлагай хранить еще и "Last-Modified" - овчинка выделки не стоит... :)


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 00:30:45
P.S. Только не предлагай хранить еще и "Last-Modified" - овчинка выделки не стоит... :)
Пока еще не созрел до этого предложения... Но чем черт не шутит ;)
Предлагаю отдавать файл в этом случае (если он есть в кэше НС, не просрочен и IMS < Даты изменения этого файла) из кэша НС.

Добавлено: чтоб браузер и дальше мог рационально вставлять IMS, можно выдачу этого файла из кэша сопроводить полем Last-Modified = Дата изменения файла. И подумать, мож это поле стоит втыкать вообще всегда, когда файл берется из кэша? Или оно и сейчас втыкается?


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 04 марта 2007, 00:48:26
Предлагаю отдавать файл в этом случае (если он есть в кэше НС, не просрочен и IMS < Даты изменения этого файла) из кэша НС.

Для этого придется постоянно парсить IMS, а полезность этой процедуры, скорее всего, будет не велика...

Цитировать
Добавлено: чтоб браузер и дальше мог рационально вставлять IMS, можно выдачу этого файла из кэша сопроводить полем Last-Modified = Дата изменения файла.

Так всегда и делается, если ты не заметил! Иначе браузер вообще не будет формировать IMS... ;)


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 00:57:01
Для этого придется постоянно парсить IMS, а полезность этой процедуры, скорее всего, будет не велика...
1. Мы ж и так парсим заголовок. Считать значение IMS легко в ходе этой процедуры.
2. Но это не главное. Главное - не допустить выдачу пользователю неактуального файла!


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 04 марта 2007, 01:35:40
Михаил

Цитировать
Предлагаю отдавать файл в этом случае (если он есть в кэше НС, не просрочен и IMS < Даты изменения этого файла) из кэша НС.

У того, что ты предлагаешь, есть побочный эффект!

Представь, зашли на новый сайт, картинки загрузились в кэш браузера и записались в кэш HC. Нажали "Обновить" и получили перезагрузку всех тех же картинок, но теперь из кэша HC, т.к. IMS с сайта < Даты записи в кэш HC !

Причем, такая ситуация будет встречаться постоянно, в отличие от твоих опасений, что у клиента вдруг окажется старый и неактуальный файл! Т.к. у клиента есть простой способ этого избежать - просто временами чистить кэш браузера!


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 12:30:14
DenZzz
Молча выдать файл из кэша - гораздо быстрее и прозрачнее, чем озабочивать пользователя чисткой кэша браузера. Последнее к тому же:
  - заранее неизвестно, когда надо делать, чтоб не получить неактуальный файл;
  - сопряжено с дополнительной ненужной нагрузкой на пользователя.
С каких пор взятие из собственного кэша НС стало "побочным эффектом"?
Теперь представь ситуацию: два пользователя А и Б на одном кэше. У А правило в списке "Н" с критерием свежести, к примеру, 10 минут для новостного сайта. У Б такого правила нет. Оба пользуются сайтом регулярно. Пусть файл записался в кэш, и пошли эти самые 10 минут. После этого каждые 5 минут Б обращается к сайту, и файл в кэше обновляется. Чтоб проще было представить такую ситуацию, пусть пользователь Б не один, а их много. Тогда пользователь А НИКОГДА не дождется обновления файла, пока его клиент будет посылать IMS!
Такого допускать, на мой взгляд, нельзя.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 04 марта 2007, 13:01:11
С каких пор взятие из собственного кэша НС стало "побочным эффектом"?

С тех пор, как было решено, что повторно посылать браузеру файл, который у него уже есть - неоптимально и бессмысленно! ;)

Цитировать
Теперь представь ситуацию: два пользователя А и Б на одном кэше.
...
Чтоб проще было представить такую ситуацию, пусть пользователь Б не один, а их много.

Вообще-то, писать в общий кэш должен только один пользователь - другие только читать! Так рекомендуется...
А если HC стоит только на сервере, то и правила у всех одни!

Цитировать
Тогда пользователь А НИКОГДА не дождется обновления файла, пока его клиент будет посылать IMS!
Такого допускать, на мой взгляд, нельзя.

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


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 13:11:24
DenZzz
Цитировать
Надо только решить, какое из "зол" большее:
- частые повторные отправки неизменившихся файлов пользователям
или
- возможное необновление старого файла у клиента в некоторых редких ситуациях...
"Частота" и "редкость" ситуаций будут плавать в зависимости от конкретной конфигурации/стиля серфинга.
К тому же зачем нам вообще неадекватная информация, пусть даже в редких случаях, не говоря уж о варианте частых?


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 04 марта 2007, 14:58:38
К тому же зачем нам вообще неадекватная информация, пусть даже в редких случаях, не говоря уж о варианте частых?
Зачем нам вообще НС с правилами прямо указывающими выдавать старый файл вместо проверки, даже если это прямо запрещает сервер, если мы невероятно боимся даже редких случаев необновления файла, не говоря уже о частых?
Отличный алгоритм, глюков от его работы словить затруднительно, гораздо проще накосячить где-нибудь в другом месте...


Название: Re: Ответ "304 Not Modified"
Отправлено: v0lt от 04 марта 2007, 16:53:24
Михаил
Я вообще критерием свежести не пользуюсь. В списке "Не обновлять" у меня только графика и др. оформление. Если надо обновить картинку, то просто держа горячую клавишу жму на "Загрузить изображение". Мне не хочется, чтобы незаблокированные банеры втихую обновлялись.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 17:49:28
серега_ang
Цитировать
Зачем нам вообще НС с правилами прямо указывающими выдавать старый файл вместо проверки, даже если это прямо запрещает сервер, если мы невероятно боимся даже редких случаев необновления файла, не говоря уже о частых?
Что толку от оптимизации, когда она достигается ценой правильности работы? Зачем нам неправильно (не так как мы хотим) работающий НС?
v0lt
Цитировать
Я вообще критерием свежести не пользуюсь. В списке "Не обновлять" у меня только графика и др. оформление. Если надо обновить картинку, то просто держа горячую клавишу жму на "Загрузить изображение". Мне не хочется, чтобы незаблокированные банеры втихую обновлялись.
Ты, видимо, недопонял. Либо я недопонял твою мысль. Речь об обновлении (в смысле из интернета) пока не идет вовсе. Выбор между:
  - ответить клиенту: "304" в надежде (на мой взгляд, необоснованной), что это не приведет к выдаче устаревшей информации;
  - выдать файл из кэша НС с гарантией актуальности данных.


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 04 марта 2007, 18:27:50
Речь об обновлении (в смысле из интернета) пока не идет вовсе. Выбор между:
  - ответить клиенту: "304" в надежде (на мой взгляд, необоснованной), что это не приведет к выдаче устаревшей информации;
  - выдать файл из кэша НС с гарантией актуальности данных.
304 выдается в случае - когда у нас правило не обновлять без критерия свежести - значит нам пофиг на этот файл ибо, он с такими настройками и так никогда не обновится. В случает Т - мы тоже сами задаем - ТОЛЬКО из кеша, и не важно браузерный или НС, мы готовы что файл будет из кеша. В случае критерия свежести - всегда можно временно отключить и обновить принудительно, если есть хоть малейшие сомнения.
У меня если есть сомнения, я вообще очищаю кеш браузера, перезапускаю его и в крайнем случае загружаю напрямую. Но это уже к алгоритму отношения не имеет, это мои собственные настройки.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 04 марта 2007, 19:00:46
серега_ang
А я не хочу постоянно чистить кэш браузера (к тому же все равно не имея гарантии, что в промежутке между чистками мне не будут давать устаревшие данные), выходить/заходить в браузер, включать/отключать каждый раз списки/правила. Предпочитаю, чтобы актуальная информация (как я вижу ее актуальной, задав правила в списке "Н") поступала всегда и без  подобных усилий с моей стороны (при этом указанные усилия все равно не дают мне 100% гарантии, а лишь неопределенным образом повышают ее). Есть подозрение, что этого же хочет большинство пользователей.
А часть пользователей не только не захочет, но и не сможет чистить кэш клиента. Либо потому что не умеет, либо потому что неоправдано, либо потому что нет доступа к этой операции.
И вообще мое мнение, когда дело касается вопроса правильности работы программы, любая вероятность кроме 100% не приемлема.


Название: Re: Ответ "304 Not Modified"
Отправлено: Сергей от 05 марта 2007, 13:21:31
А я не хочу постоянно чистить кэш браузера

Кэш браузера чистится сам. Новые данные затирают старые. Если, конечно, не делать его слишком большим.

Цитировать
И вообще мое мнение, когда дело касается вопроса правильности работы программы, любая вероятность кроме 100% не приемлема.
Смотря что подразумевать под правильностью. Слепо следовать рекомендациям стандарта или делать то что нам нужно.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 05 марта 2007, 13:49:51
Сергей
Цитировать
Смотря что подразумевать под правильностью. Слепо следовать рекомендациям стандарта или делать то что нам нужно.
Я понимаю как раз последнее, о чем уже упоминал выше (http://handycache.ru/component/option,com_smf/Itemid,10/topic,283.msg2595/#msg2595). И прежде всего в этом понимании мы получаем неправильность. И только во-вторых она совпадает с неправильностью относительно стандарта. Покажи мне, плиз, где я призывал "слепо следовать рекомендациям стандарта"?
Ты читал выше пример про пользователей А и Б? Пользователь А имеет шанс никогда не обновить свой новостной сайт. Это входит в понятие "делать то что нам нужно"?
Цитировать
Кэш браузера чистится сам. Новые данные затирают старые. Если, конечно, не делать его слишком большим.
Про кэш браузера тоже вроде писал постом выше. Ну нет у пользователя ни желания, ни возможности, ни необходимости чистить его. Что тогда? Замени к примеру понятие браузера понятием еще одного кэш-прокси (частный кэш) - весь его постоянно чистить? Не будет у пользователя и желания получать устаревшую информацию между чистками.
И еще. Почему мы вообще должны каким-либо образом зависеть от организации собственного кэша клиента? Мне такая зависимость не нравится.
При всем при этом алгоритм оптимизации, описанный DenZzz, продолжает прекрасно работать за исключением лишь того случая, когда URL попадает под правило списка "Н" с критерием свежести, файл есть в кэше и IMS < Даты изменения файла.


Название: Re: Ответ "304 Not Modified"
Отправлено: Сергей от 05 марта 2007, 14:20:37
Цитировать
Ты читал выше пример про пользователей А и Б?
Не корректный пример. Ты разрешаешь писать в кэш сразу нескольким клиентам на свой страх и риск. Никто не гарантирует корректной работы в таком случае.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 05 марта 2007, 14:35:14
Не корректный пример. Ты разрешаешь писать в кэш сразу нескольким клиентам на свой страх и риск.
Разве я указывал на обязательность одновременной записи в кэш разными пользователями? Пусть А только читает, Б - и пишет, и читает. В чем некорректность?
ОФФТОПИК: На мой взгляд, так возможно лучше было б, если б писать могли все. Это потребует дополнительных усилий по арбитражу, но имхо не является принципиально невозможным.


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 05 марта 2007, 16:30:11
серега_ang
А я не хочу постоянно чистить кэш браузера (к тому же все равно не имея гарантии, что в промежутке между чистками мне не будут давать устаревшие данные), выходить/заходить в браузер, включать/отключать каждый раз списки/правила. Предпочитаю, чтобы актуальная информация (как я вижу ее актуальной, задав правила в списке "Н") поступала всегда и без  подобных усилий с моей стороны
Достаточно 1 раз при установке НС почистить кеш браузера, и так как в дальнейшем вся информация будет поступать из НС - значит актуальность данных полностью контролируется правилами в нем. Это первое. Второе - нужна 100% гарантия правильной работы: отключи вообще НС и все возможные промежуточные прокси-серверы. А желательно подключиться прямо к серверу.


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 05 марта 2007, 18:00:23
серега_ang
Цитировать
так как в дальнейшем вся информация будет поступать из НС - значит актуальность данных полностью контролируется правилами в нем.
В том то и дело, что не полностью. Она может измениться в кэше НС при работе других пользователей с их собственными правилами (см. пример), при копировании ее туда вручную, может попасть к клиенту (который кстати не обязательно является браузером) при отключении/переключении прокси и т.п.
Цитировать
Второе - нужна 100% гарантия правильной работы: отключи вообще НС и все возможные
промежуточные прокси-серверы. А желательно подключиться прямо к серверу.
Под гарантией правильной работы - я имею ввиду не получение гарантированно свежей информации с сервера, а получение информации, актуальной настолько насколько это допускают правила, заданные в НС. Если же информация не обновляется невзирая на заданные в НС правила (т.е. критерий свежести истек, а инфа не обновлена при попытке доступа), то это уже меня не может устраивать.


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 05 марта 2007, 19:48:24
Я примерно понял суть вопроса, и несмотря на его притянутось за уши: при вероятности получения абсолютно старых данных равной 99% из кеша, беспокоиться о 1% случаев когда даже старая информация из кеша, будет выдана из еще более старого кеша. И эта ситуация может возникнуть только в случае срабатывания Н с критерием свежести (в остальных случаях нам плевать какой файл будет выдан, иначе мы бы такие правила не задавали) Тем не менее можно избежать этого, если кроме критерия свежести проверять еще время IMS из запроса браузера. То есть изменить алгоритм примерно так: Когда получен запрос с "If-Modified-Since" и проверяется правило с заполненным критерием свежести в списке "Не обновлять", то:
- Если файл есть в кэше HC и его дата в кэше не просрочена по критерию свежести, то проверям не просрочен ли файл по IMS, если просрочен - выдаем 200 OK и файл обновится в кеше браузера, иначе правило из списка "Не обновлять" срабатывает и HC формирует ответ "304 Not Modified", т.е. велит браузеру брать файл из его кэша.



Название: Re: Ответ "304 Not Modified"
Отправлено: taimael от 26 мая 2007, 15:50:40
нужно обновить в браузере файл из кеша или из инета
а НС выдает такую штуку "304 Not Modified (HC)"
тыкать списки оказывается абсолютно бесполезно, как и перегружать HC
проблема решается только перезагрузкой браузера (опера)
кеш в опере отключен
как вообще запретить HC выдавать браузеру ответ "304 Not Modified (HC)" ?
пусть согласно правилам все из кеша или с инета берет


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 26 мая 2007, 18:14:17
Какие правила срабатывают? Если говорит 304 Not Modified (HC) значит сработало правило Не обновлять, ну сколько можно уже объяснять...


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 26 мая 2007, 21:15:12
тыкать списки оказывается абсолютно бесполезно, как и перегружать HC

Видимо, не те списки "тыкал"... Надо было отключать "Не обновлять" и "Только из кэша"! Почитай вот здесь... (http://handycache.ru/component/option,com_smf/Itemid,10/topic,283.0/)

Цитировать
кеш в опере отключен

И RAM-кэш тоже? Тогда где ж Опера берет файлы после того, как HC отвечает ей: "304 Not Modified (HC)"?


Название: Re: Ответ "304 Not Modified"
Отправлено: taimael от 27 мая 2007, 10:51:12
Тогда где ж Опера берет файлы после того, как HC отвечает ей: "304 Not Modified (HC)"?

Опера с оперативки может...
а в ИЕ смотрел, там полностью кеш не отключается, 1 mb все равно остается - и там эти старые файлы лежат

просто периодически бесит глюк
когда руками затаскиваю в кеш новый скрипт или несжатую картинку мимо тунеля
и потом хрен как из кеша их достанешь
HC отвечает браузеру "304 Not Modified (HC)" и браузер продолжает юзать старый скрипт или картинку

а на списки не наезжайте
повторяю:

тыкаешь в браузере обновить страницу - HC отвечает "304 Not Modified (HC)"
закрываешь браузер (Оперу) и открываешь снова - HC берет файлы из кеша
ну и при чем тут списки?
и при чем тут кеш Оперы?

в ИЕ с его 1 мб кеша перезагрузка браузера естественно не помогает
понимаю что всяка в ИЕ можно и полностью как-то кеш отключить
но это мне мало интересно, я оперу юзаю


сформулирую еще раз по другому:
я руками положил в кеш новую версию файла (скрипт или картинку)
или же использовал пункт меню в мониторе НС "загрузить в кеш"
как теперь заставить отдать НС этот файл браузеру?
у меня без перезагрузки браузера (оперы) это почему-то не получается



Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 27 мая 2007, 13:21:50
taimael
DenZzz
Сам на такое регулярно натыкаюсь, и мне это очень не нравится. В одних случаях чтоб получить актуальный файл, надо браузер перегружать/вычищать его кэш, в других RAM-кэш НС вручную чистить, в третьих - и то, и другое делать вместе. Имхо, это не есть хорошо - в погоне за быстродействием теряются актуальность данных и удобство работы. Не всех этот выбор устраивает.
На мой взгляд, неплохо бы нынешнее поведение "304 Not Modified (НС)" сделать опциональным, предусмотрев в настройках соответствующую галку.


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 27 мая 2007, 13:58:09
Мдя, головой стену не прошибешь... Еще раз: какие списки срабатывают при ответе 304 Not modified? Критерии свежести стоят? Может быть просто сделать горячую клавишу на отключение списка не обновлять? Например CTRL и нажимать CTRL когда хотите обновить файл? Почему-то у меня почти не возникает необходимость "подкладывать в кеш" файлы. Наверное потому что я в инете работаю/отдыхаю, а не с проксями вожусь.
В любом браузере можно включить очистку кеша при выходе (это к слову о кеше 1мб в IE). А в опере можно поставить пераметры "проверять кешированные файлы" или как-то так - поставить всегда и будет каждый раз пытаться загрузить из кеша. + отключить кеш в памяти в опере и на диске. Хотя это полное извращение.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 27 мая 2007, 14:19:37
тыкаешь в браузере обновить страницу - HC отвечает "304 Not Modified (HC)"
закрываешь браузер (Оперу) и открываешь снова - HC берет файлы из кеша
ну и при чем тут списки?
и при чем тут кеш Оперы?

Еще раз повторяю, HC отвечает "304 Not Modified (HC)" ТОЛЬКО при выполнении 2 условий:
1. Файл есть в кэше браузера и он проверяет его актуальность запросом с "If-Modified-Since";
2. В HC срабатывают правила из списка "Не обновлять" или "Только из кэша".

Если ты не хочешь, чтобы HC ответил браузеру "304 Not Modified (HC)", то просто нарушь одно из этих условий - очисть/отключи кэш браузера ИЛИ горячими кнопками отключи списки "Н" и "Т"!

Цитировать
я руками положил в кеш новую версию файла (скрипт или картинку)
или же использовал пункт меню в мониторе НС "загрузить в кеш"
как теперь заставить отдать НС этот файл браузеру?
у меня без перезагрузки браузера (оперы) это почему-то не получается

Закрой в Опере страницу, на которой хочешь что-то обновить, и в "Сервис / Настройки / Дополнительно / История / Дисковый кэш" - нажми кнопку "Очистить сейчас"! После этого HC выдаст браузеру файл из своего кэша, а не "304"!


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

Я не против, хотя и сомневаюсь в полезности такой опциональности! За полгода существования этой фичи нарекания звучали только на неучет "304" в проценте экономии, что также имеет спорную необходимость!

А про нарекания некоторых горе-экспериментаторов, неумеющих обновлять файлы в кэше браузера, я вообще молчу...  :'(


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 27 мая 2007, 14:43:28
За полгода существования этой фичи нарекания звучали только на неучет "304" в проценте экономии, что также имеет спорную необходимость!
В этой теме (http://handycache.ru/component/option,com_smf/Itemid,10/topic,283.msg2530/#msg2530) уже затрагивались проблемы.
Цитировать
А про нарекания некоторых горе-экспериментаторов, неумеющих обновлять файлы в кэше браузера, я вообще молчу...  :'(
Если даже уметь вручную обновлять, все равно это раздражает и этого делать не хочется. Неплохо б, на мой взгляд, чтоб вопросом безусловного обновления занималась, к примеру, существующая опция "Чтение из кэша", но она этого не умеет, т.к. при отключении не отбрасывает "If-Modified-Since" из заголовка запроса и не грузит файл из интернета, если он попадает в список "Только из кэша".


Название: Re: Ответ "304 Not Modified"
Отправлено: taimael от 27 мая 2007, 17:17:32
Закрой в Опере страницу, на которой хочешь что-то обновить, и в "Сервис / Настройки / Дополнительно / История / Дисковый кэш" - нажми кнопку "Очистить сейчас"! После этого HC выдаст браузеру файл из своего кэша, а не "304"!

ткнулся, чтоб попробовать
увидел, что у меня открыто 10 страниц использующих скрипт, который нужно заново из кеша взять
мне их сейчас все закрывать?
а потом заново открывать?
а адреса в блокнот записать перед этим?

мои настройки в опере:
кеш в памяти откл
дисковый кеш откл
стоит галка на очищать при выходе
проверять документы всегда
проверять рисунки всегда

и что где не правильно или затуплено?


cepera_ang, вероятно, ты не понял проблу, я ж объяснил, что списки не при чем


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 27 мая 2007, 17:58:51
В этой теме (http://handycache.ru/component/option,com_smf/Itemid,10/topic,283.msg2530/#msg2530) уже затрагивались проблемы.

Только не все согласны, что эта "проблема" настолько распространена, что надо принимать какие-то спец. меры... Тем более, что у них есть свой побочный эффект - частые повторные отправки неизменившихся файлов пользователям... ;)

Цитировать
Неплохо б, на мой взгляд, чтоб вопросом безусловного обновления занималась, к примеру, существующая опция "Чтение из кэша"

Возможно...



увидел, что у меня открыто 10 страниц использующих скрипт, который нужно заново из кеша взять
мне их сейчас все закрывать?
а потом заново открывать?

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


Название: Re: Ответ "304 Not Modified"
Отправлено: cepera_ang от 27 мая 2007, 19:15:20
ткнулся, чтоб попробовать
увидел, что у меня открыто 10 страниц использующих скрипт, который нужно заново из кеша взять
Кхм, а смысл? Если это страницы одного сайта, напиши его в исключения для списка "Не обновлять" или использую горячую клавишу, как уже посоветовали. Т.е. нужно обновить - нажимаешь горячую клавишу и кнопку обновить. Все.
Цитировать
а адреса в блокнот записать перед этим?
DenZzz уже посоветовал и такой вариант как сессии.
Цитировать
мои настройки в опере:
кеш в памяти откл
дисковый кеш откл
стоит галка на очищать при выходе
проверять документы всегда
проверять рисунки всегда
Не тормозит? Ведь если такая конфигурация, тогда приходится запрашивать файл например при переходе вперед-назад. И при каждом открытии странички грузятся все элементы оформления.
Цитировать
cepera_ang, вероятно, ты не понял проблу, я ж объяснил, что списки не при чем
Ну как не причем? Очень даже причем! Если при запросе попадается url подходящий под правила Не обновлять или Только из кеша - будет дан ответ 304. Вопрос: как обновлять? Ответ: отключить правила (вариант - написать исключения) для тех URL, которые нужно обновлять.
Или в кеше лежат вообще левые файлы? Собственные css'ки и скрипты? Если так, то нужно пользоваться списком переадресация либо преобразование урл.
И еще вопрос - чем нужно занимать, чтобы понадобились такие извращения? Веб-дизайном? Тогда может проще добавить в белый список эти сайты?



Название: Re: Ответ "304 Not Modified"
Отправлено: Rick от 27 мая 2007, 20:05:02
Что-то я не очень понимаю проблему.

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

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

Или я что-то не так понял?


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 28 мая 2007, 00:13:01
- или дата в запросе If-Modified-Since более свежая чем дата файла в кэше HC.

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: taimael от 28 мая 2007, 14:25:41
...если taimael вручную поместит файл в кэш и отключит списки "Н" и "Т", то HC просто транслирует запрос браузера с IMS на сервер. А тот либо велит браузеру взять файл из его кэша, либо пришлет новый. Т.о. исправленный taimael файл из кэша HC браузеру при любом раскладе не достанется! Единственный выход - очистить кэш браузера и включить списки "Н" и "Т"...

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

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

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

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

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: Rick от 28 мая 2007, 16:37:37
taimael
Изредка у меня бывает, что, например, картинка недокачивается. Просто Обновление страницы не помогает - 304 (НС). Помогает "Загрузить в кэш" в HC (в твоем случае не надо если ты вручную файл в кэш закинул) и в Опере "Показать рисунок" (что равнозначно скопировать URL и открыть его на _новой_ вкладке) - и нормально обновленная картинка берется из кэша HC. Главное условие - новая вкладка.


Название: Re: Ответ "304 Not Modified"
Отправлено: Vat от 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 так и не попадает и всегда идет запрос на сервер.

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 13 февраля 2008, 07:54:04
Промучился около часа, вычисляя ошибку, пока не осенило убить кеш броузера

Если бы сначала почитал ФАК, то "осенило" бы гораздо раньше!
- ФАК: HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified"! Процент "экономии" очень низкий! Почему? (http://handycache.ru/component/option,com_simplefaq/task,display/Itemid,3/catid,7/#FAQ40)


Название: Re: Ответ "304 Not Modified"
Отправлено: Vat от 13 февраля 2008, 09:48:07
Ага.
Спасибо за ответ.

Что-то я на самом деле был не сильно внимателен при чтении FAQ-а. мдэ...


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 03 июня 2008, 02:06:01
Чтобы повысить актуальность проблемы и убедить в необходимости принятия мер реагирования, приведу сходный пример действия того же бага НС. Здесь ситуация не будет казаться малоестественной (ну разве что срок для выразительности преувеличу).

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: mike2003 от 15 июля 2008, 11:24:10
стояла 9.27 проблем не было
тут обновил оперу до 9.51
стали исчезать картинки

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

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: mai62 от 15 июля 2008, 12:20:50
Забери строку монитора командой Копировать строку монитора и покажи ее здесь.


Название: Re: Ответ "304 Not Modified"
Отправлено: mike2003 от 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... от оперы или НС?
и почему она в обход НС загружает нормально?


Название: Re: Ответ "304 Not Modified"
Отправлено: mai62 от 15 июля 2008, 14:24:57
Цитировать
есть картинка у оперы - в мониторе 304
удалил кеш оперы, запросил релоад картинки - 200...
Так и должно быть раз картинки в списке Не обновлять.
Цитировать
может у оперы новой кеш подглючивает... картиник нет, а она шлет проверку как будто есть...
Может и подглючивает. Я какое-то время пользовался версией 9.51, таких проблем не было. Может надо попробовать на новый профиль переставить?
Цитировать
от чего зависит 304 или 200... от оперы или НС?
От обоих. От наличия If-Modified в запросе оперы и правил списка Не обновлять.
Раз НС отвечает 304, судя по всему If-Modified в запросе оперы есть (можно посмотреть лог НС).
Цитировать
и почему она в обход НС загружает нормально?
В обход же нету списка Не обновлять. Выключи его в НС и через него будет грузить.


Название: Re: Ответ "304 Not Modified"
Отправлено: mike2003 от 15 июля 2008, 14:52:52
не, ну мне то как раз надо что б не обновлял то что уже закачано и лежит на диске у НС, ладно будем пока статистику собирать может че и проясниться


Название: Re: Ответ "304 Not Modified"
Отправлено: Михаил от 15 июля 2008, 15:13:10
Бывает, что к НС со стороны сервера идет ответ с Connection: close и без указания длины. Посреди передачи ответа может произойти разрыв соединения со стороны НС (пользователь нажал "Остановить" в мониторе) или сервера (например, слишком много одновременных соединений НС с ним установил). В этом случае НС закрывает соединение с браузером, а браузер остается свято верить, что это нормальное завершение ответа, сохраняет этот обрубок в кэш и при последующих запросах использует его как полноценный файл.
Не знаю, относится ли к этой категории рассматриваемый случай. Со следующей сборки количество таких случаев уменьшится для клиентов HTTP 1.0 (Опера тоже иногда работает в этом режиме), т.к. НС станет запрашивать у сервера данные только по НТТР 1.1 независимо от версии протокола браузера.


Название: Re: Ответ "304 Not Modified"
Отправлено: Владимир Иванович от 05 августа 2009, 04:59:00
Проблема возникает в Автономном режиме. ИЕ не хочет обновляться из кеша НС.
В кеше находится более свежая страница, но сколько не нажимай Ф5 ИЕ загружает старую страницу из своего кеша.
Если переключить не в автономный режим, то всё нормально и ИЕ обновляет страницу.

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: Владимир Иванович от 05 августа 2009, 05:06:14
Да я хотел добавить, что в НС точно находится более новая страница. она там появилась так как я пользовался другим браузером.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 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 и т.п.)" (http://handycache.ru/component/option,com_smf/Itemid,10/topic,782.0/).


Название: Re: Ответ "304 Not Modified"
Отправлено: Владимир Иванович от 06 августа 2009, 02:01:19
В IE жми CTRL+F5 , когда надо загрузить страницу не из собственного кэша браузера.
Да, это работает, спасибо не знал.

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

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


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 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 (без скобок с выбором на конце),
и они начинают работать, как надо!
Трудно поверить — но это я проверил многократно.

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

Если нужны логи, могу сделать, но там ничего не будет о списке
"не обновлять", поэтому не знаю, как доказать.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 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 другая странность, совсем уж НЕОБЪЯСНИМАЯ:

Эта "НЕОБЪСНИМАЯ" странность давно ОБЪЯСНЕНА В ФАКЕ! Читай про работу списка "Не обновлять" и его колонку "КРИТЕРИЙ СВЕЖЕСТИ".


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 26 января 2010, 17:59:17
Немного перемешалось, поэтому разделю два наблюдения.
Речь идет о чтении всяких css, js, jpg.

============  РЕЖИМ "Чтение из кеша" (стоит галка), но кеш ПУСТОЙ.

> Эта "НЕОБЪСНИМАЯ" странность давно ОБЪЯСНЕНА В ФАКЕ!
> Читай про работу списка "Не обновлять" и его колонку "КРИТЕРИЙ СВЕЖЕСТИ".

Я убрал эту цифру ("Критерий свежести"). Правило заработало.

Там написано (Как работает список "Не обновлять"?, в примечаниях), что (безусловно)
"Если файла нет в кэше, то он будет загружен из Интернета".

На самом деле, по моим наблюдениям, работает своеобразно:

Если:
 — галка "чтение их кеша" - стоит
 — в правиле НЕ ЗАДАН критерий свежести,
 — и он идёт от браузера на проверку (т.е. в его кеше он есть) —
то всё равно будет ответ "304 Not Modified, HC" (для IE)
(и "client disconnected" для Оперы)
даже, если файла, проходящего по правилу, НЕТ в кеше HC.

А вот если будет задан ПРОИЗВОЛЬНЫЙ критерий свежести
(любая цифра, и, конечно, — галка),
то при тех же услових
запрос файла в любом случае в любое время пройдёт в сеть.
(мы увидим в графе "Ответ": для IE6 — "304 Not Modified" (без окончания "HC"),
и для Оперы  "client disconnected", почему — не знаю, но, наверное, суть одна).


Добавлено: 26 Января 2010, 17:58:40

============  РЕЖИМ "НЕ Чтение из кеша" (сброшена галка).
Кеш пустой. СМОТРИМ ПОВЕДЕНИЕ ОПЕРЫ 9.64.


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

Я поставил эти правила для особых случаев, — и они, конечно, выключены.
Если они включены, то все строчки в мониторе всегда у меня голубые,
но они выключены!

Обновляем страницу — в мониторе "client disconnected"
(за замечание про "констатацию факта" благодарю, а то никак не мог понять, что это такое).

При последующих обновлениях, например, каждые 5-10-15 секунд —
все файлы ЧИТАЮТСЯ из сети
(именно так, как было бы при включённых тех самых расширениях).

Дело в том, что когда я заказывал эти расширения, я ещё работал на версии 0.97
(знаю, знаю, что они там отсутствуют ещё) —
искал оперную команду, аналогичную Ctrl F5 в IE,
и видел в мониторе 0.97b1, что Опера не обновляет вторичные файлы страницы,
а только проверяет их на обновление.

Получив от Вас расширение, вырезающее заголовки,
я ПОСТАВИЛ НОВЕЙШУЮ ВЕРСИЮ HC (но ещё не подключил расширения) —
и сразу бросилось в глаза, что та же самая Опера изменила поведение:
в каких-то непонятных случаях она стала ОБНОВЛЯТЬ файлы!
(а с расширениями — обновляет всё, всегда, и предсказуемо, но это сейчас неважно).
Что изменилось? Только версия HC ! Опера — та же.


Ещё раз — с новым HandyCache RC3.1.0.0.252 —
если нажимаем F5 реже раз в ~30 секунд — всё время видим "client disconnected".
Но если чаще — файлы начинают читаться из сети до следующей 30 секундной паузы.
(т.е как-бы типа "не обновлять" с "-00:00:30").
Это — "недокументированное" влияние HC на Оперу.
Повторю, что говорю о режиме сброшенной галки "Чтение из кеша".

Добавлено не в тему, простите:

Галка "Сортировать по домену" в очистке  работает не очень правильно.
Во-первых, для её работы нужно, чтоб
 — во-первых, стояла стрелка в заголовке столбца "Каталог"
(логично, но её у меня сначала не было, а галку — щёлкаю, а результата нет); 
 — а во-вторых, если поставить галку,
потом нажать "Запустить", — галка остаётся,
но результата от неё не будет, пока не СНЯТЬ-ПОСТАВИТЬ её заново.
Эти моменты в совокупности (если дотошно не копать) —
создают впечатление, что отсортировать по домену программа не может.
Надо что-то со вторым моментом сделать.

Помещение галки включения фильтрации в мониторе
в убирающееся окно —
я сразу попался на это:
галку поставленную забыл, окно внизу убрал  — и всё:
что-то есть в мониторе, чего-то нет, непонятно, что случилось.
Цвет воронки на кнопке — вещь не очень информативная.


Если что-то путаю, простите.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 28 января 2010, 09:09:47
Цитировать
Там написано (Как работает список "Не обновлять"?, в примечаниях), что (безусловно)
"Если файла нет в кэше, то он будет загружен из Интернета".

На самом деле, по моим наблюдениям, работает своеобразно

В последних версиях HC работает так, как сказано в п.2 здесь: http://handycache.ru/component/option,com_smf/Itemid,10/topic,782.msg13697/#msg13697  , что полностью соответствует твоим наблюдениям.

Цитировать
Ещё раз — с новым HandyCache RC3.1.0.0.252 —
если нажимаем F5 реже раз в ~30 секунд — всё время видим "client disconnected".
Но если чаще — файлы начинают читаться из сети до следующей 30 секундной паузы.
(т.е как-бы типа "не обновлять" с "-00:00:30").
Это — "недокументированное" влияние HC на Оперу.

У меня Опера 10.01, отключил чтение из кэша HC, попробовал воспроизвести твой опыт - не воспроизводится! Хоть часто нажимаю F5, хоть редко - всегда получаю "304 Not Modified" из инета. Очень редко мелькают "client disconnected", но только потому, что рядом есть аналогичный запрос с "304 Not Modified".

В общем, твои выводы про "недокументированное влияние HC на Оперу" не подтверждаю. У меня такого влияния нет и HC ведет себя одинаково правильно.

Цитировать
Что изменилось? Только версия HC ! Опера — та же.

С 0.97b1 до RC3.1.0.0.252 много воды утекло и много было разных сборок. В HC изменилось многое, в частности реализована поддержка Pipelining'а, который активно использует Опера, а IE - не использует никогда. Обилие у тебя строк "client disconnected" наталкивает меня на мысль, что какой-то элемент в твоей цепочке "Опера - Сервер сайта" не умеет работать с Pipelining'ом. Это может быть любой промежуточный софт, пропускающий через себя HTTP-трафик: файервол, антивирус, баннеро-резка, прокси провайдера и т.п. ...

А попробуй в настройках Оперы отключить HTTP/1.1 для прокси:  opera:config#Proxy|EnableHTTP1.1forproxy
Кстати, в Опере 10 можно отключить и сам Pipelining:  opera:config#Performance|EnablePipelining


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 29 января 2010, 13:58:32
Специально поставил Оперу 10.10, чистую,
(описанное ранее я пробовал на 9.64 — десятки ужасно дёргают изображение) —
эффект ПОВТОРИЛСЯ.
Единственное — действительно, (правда, наоборот) —
раньше НЕ была отмечена "Включить HTTP 1.1 для прокси", — когда её отметил, "client disconnected" сменился на "304 Not Modified" — вот и все изменения (не знаю, почему так). Отключение Pipelining-а  — ничего не меняет.

Точно так же:
при снятой галке "Чтение из кеша"
на  этой (http://radikal.ru/GALLERY/PageF4G.aspx?i=d46d623386be45d5934dd7c237babfcc) странице:
 — первое обновление — сплошные "304 Not Modified" от сервера,
 — последущие (при условии —  нажимать с паузой менее 30 секунд) —
все строки в мониторе становятся голубыми, всё читается из сети.

Если же я убираю HandyCache RC3.1.0.0.252
и запускаю старую версию 0.97b1, ничего более не меняя —
и продолжаю обновлять страницу —
всегда вижу "304 Not Modified" независимо ни от чего.
 
То есть: Опера 10.10 меняет своё поведение в зависимости от версии HC
(это я и обозвал "влиянием HC на Оперу").

Не имею ничего: ни брандмауеров (точнее — есть встроенный в XP SP2),
ни "антивирус, баннеро-резка, прокси провайдера..." — ничего этого у меня никогда не было.

Я описал ситуацию — кто знает, может быть это поможет найти в программе
какое-либо недоразумение.

-----------------------------
Вот ещё мелочь, опять не в тему (не соображу, куда написать):

HandyCache RC3.1.0.0.252
Опера 9.64 и 10.10
Галки ВСЕХ списков сброшены.

http://www.mail-it24.com
нажатие кнопки "Get temporary e-mail"
приводит к:

Blocked
Access to the requested URL — was not allowed (bad redirect).


(а в IE: — Ошибка 403 - Запрещено)

Старая же версия HC 0.97b1 — работает с этой кнопкой.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 29 января 2010, 16:03:36
— первое обновление — сплошные "304 Not Modified" от сервера,
 — последущие (при условии —  нажимать с паузой менее 30 секунд) —
все строки в мониторе становятся голубыми, всё читается из сети.

У меня всегда одни "304 Not Modified". Сделай отладочный лог HC и приложи к посту, иначе мы вряд ли найдем причину...

Цитировать
Access to the requested URL — was not allowed (bad redirect).

Это новая фича описана здесь: http://handycache.ru/component/option,com_smf/Itemid,10/topic,2764.0/
Сейчас в ней есть баг, который будет исправлен в следующей версии HC.



Если поставить правило .* всё не обновлять, то если в кэше нет записи, то оно возьмётся из интернета. я правильно понял???

Да.


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 29 января 2010, 21:06:59
Два лога приложил.

Но — похоже, не расширенные.
Я убил HC,
добавил в секцию [TMainForm] строку DebugModeVisible=True,
запустил HC — но чекбокса так и не увидел — все глаза проглядел.
Нашёл параметр DebugMode_Checked, поставил =True — но, похоже, не действует.


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 29 января 2010, 21:52:50
Два лога приложил.

Есть одна догадка. Переставь системное время секунд на 30 назад и попробуй еще раз воспроизвести свои эксперименты...


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 29 января 2010, 21:57:18
Я не пойму, — когда перевести время?
И заодно — где же чекбокс, и лог отладочный получился у меня, или нет?


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 29 января 2010, 22:19:05
Я не пойму, — когда перевести время?

Сейчас. У тебя системное время спешит. Переведи его назад секунд на 30-40.

И заодно — где же чекбокс,

См. скрин.

Цитировать
и лог отладочный получился у меня, или нет?

Нет, но думаю уже и не надо...


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 30 января 2010, 12:11:02
Действительно так, теперь работает нормально.
А If-None-Match почему не срабатывал?
...............................
А почему:
 —  IE работал обычным образом
с неправильным временем (проверил сейчас ещё раз)?
 — версия HC 0.97b1 тоже "не чувствительна" к этому?
...............................
И что с чекбоксом:
я его и искал в этом месте, но его там нет!

Я написал (сюда скопировал из .ini):
[TDialForm]
DebugModeVisible=True
DebugMode_Checked=True

Запустил HC — нет чекбокса!  Вот — сейчас ещё раз сделал —
параметры стоят, а результата нет.
И DebugMode_Checked не помог (я думаю, это та самая галка?).


Название: Re: Ответ "304 Not Modified"
Отправлено: DenZzz от 30 января 2010, 16:04:09
Действительно так, теперь работает нормально.
А If-None-Match почему не срабатывал?

Потому что RFC 2616 велит так делать:
Цитировать
   An HTTP/1.1 origin server, upon receiving a conditional request that
   includes both a Last-Modified date (e.g., in an If-Modified-Since or
   If-Unmodified-Since header field) and one or more entity tags (e.g.,
   in an If-Match, If-None-Match, or If-Range header field) as cache
   validators, MUST NOT return a response status of 304 (Not Modified)
   unless doing so is consistent with all of the conditional header
   fields in the request.

Некоторые сервера просто так настроены, что не отвечают 304 Not Modified, когда в If-Modified-Since время больше, чем текущее время на сервере. Они, наивные, считают, что такого быть не может. ;)

А почему:
 —  IE работал обычным образом
с неправильным временем (проверил сейчас ещё раз)?
 — версия HC 0.97b1 тоже "не чувствительна" к этому?

В версии HC 0.97b1 еще не был реализован ряд мероприятий по увеличению эффективности собственного кэша клиента (I-M-S, I-N-M и т.п.): http://handycache.ru/component/option,com_smf/Itemid,10/topic,782.msg13697/
В частности, значение поля Last-Modified в ответе сервера не подменялось на текущее системное время.

IE, в отличии от Оперы, не берет значение поля Last-Modified из ответа 304 и всегда использует то время, которое пришло с сервера изначально вместе с файлом. Этим объясняется разница в запросах этих браузеров и соответственно в разных ответах сервера.

Цитировать
Я написал (сюда скопировал из .ini):
[TDialForm]
DebugModeVisible=True
DebugMode_Checked=True

Товарищ! Кто велел вставлять эту строку в секцию [TDialForm]? В ФАКе написано про [TMainForm]!


Название: Re: Ответ "304 Not Modified"
Отправлено: mih от 30 января 2010, 16:51:25

Кто бы мог подумать, что [TMainForm] — где-то в середине
ini файла, а в начале — какая-то другая секция с неотличимым названием?
И так проблем много — и тут ещё голову надо сломать.

Спасибо, товарищ.


Название: HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified
Отправлено: AlexSadko от 21 февраля 2010, 06:45:51
Заголовок взят из FAQа, то есть проблема в том, что практически все настройки сделаны согласно рекомендациям, но проблема !!!HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified"! Процент "экономии" очень низкий! Почему?!!! имеет место быть!
Может, что изменилось со времен создания фака?
Конфигурация:
WinXPSP3, Opera 10.1
HC последний, подключение через Скайлинк. И ЕЩЁ!
При посещении сайта скайлинк наблюдается следующий эфект, при выборе региона (воронежская) загружается индех страница региона, а при попытке перейти по ссылке, скажем тарифы, скидывает на страницу тарифов московского региона.
Проблему удалось решить, только одновременной очисткой кэша браузера и НС, но она теперь стала повторятся чуть по другому, заходим на воронежскую страницу из списка выбираем регион (москву) открывется индех москвы, переходишь по сылке тарифы и снова попадаешь на воронежскую страницу тарифов.
Снова одновременная чистка обоих кэшей и всё о'кей??? >:(


Название: Re: HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified
Отправлено: DenZzz от 21 февраля 2010, 09:30:32
Заголовок взят из FAQа, то есть проблема в том, что практически все настройки сделаны согласно рекомендациям, но проблема !!!HC постоянно запрашивает на сервере картинки и получает ответ "304 Not Modified"! Процент "экономии" очень низкий! Почему?!!! имеет место быть!
Может, что изменилось со времен создания фака?

Нет. Ответы 304 не учитываются в подсчете экономии, как и раньше.

Цитировать
При посещении сайта скайлинк наблюдается следующий эфект, при выборе региона (воронежская) загружается индех страница региона, а при попытке перейти по ссылке, скажем тарифы, скидывает на страницу тарифов московского региона.

Не наблюдаю такого эффекта. У меня выбранный регион не сбрасывается.


Название: Почему HC учитывает не все файлы, взятые из кэша, в счётчике "Взято из кэша"?
Отправлено: Доктор ТуамОсес от 24 мая 2011, 10:25:35
Обнаружил такую вот траблу.
Гружу страницу, содержащую несколько десятков скриптов и несколько сотен картинок (GIF-ов).
Естественно, я как человек не глупый, занёс файлы с расширениями CSS, JS и GIF в список не "обновлять".

Поэтому если грузить страницу без HC я трачу около 800 килобайт трафика.
А когда я гружу эту страницу через HC, то я трачу всего лишь около 60 килобайт. Т.е. "и ежу понятно"(с), что большинство файлов было взято HC из кэша.
Какой огромный выигрыш.
Но почему то HC хотя и берёт CSS, JS и GIF из кэша значение счётчика "Взято из кэша" в мониторе почему-то не увеличивается.

В результате HC показывает намного меньшую экономию трафика, чем есть на самом деле.

Как это можно "полечить"?


Название: Re: Почему HC учитывает не все файлы, взятые из кэша, в счётчике "Взято из кэша"?
Отправлено: alex77 от 24 мая 2011, 11:00:28
а если вспомнить, что и браузеров есть кеш ;)


Название: Re: Почему HC учитывает не все файлы, взятые из кэша, в счётчике "Взято из кэша"?
Отправлено: Доктор ТуамОсес от 24 мая 2011, 13:15:07
а если вспомнить, что и браузеров есть кеш ;)
Я, как бы, в курсе.
Чай не первый год замужем инетом пользуюсь.  :-X

Но, видите ли в чём дело, уважаемый.
Если бы браузер брал файло из своего кэша, то в мониторе HC я не видел бы кучи строк в которых отображаются все GIF, CSS и JS страницы и в которых в колонке ответ написано "304 Not Modified (HC)" :oops:


Название: Re: Почему HC учитывает не все файлы, взятые из кэша, в счётчике "Взято из кэша"?
Отправлено: mai62 от 24 мая 2011, 17:01:57
Цитировать
ответ написано "304 Not Modified (HC)"
Ответ 304 означает, что реально НС не отдавал файл браузеру, а только сообщил ему, что файл не изменился (ответ состоял из одного заголовка). Браузер взял файл из своего кэша.


Название: Re: Почему HC учитывает не все файлы, взятые из кэша, в счётчике "Взято из кэша"?
Отправлено: DenZzz от 24 мая 2011, 21:47:01
Если бы браузер брал файло из своего кэша, то в мониторе HC я не видел бы кучи строк в которых отображаются все GIF, CSS и JS страницы и в которых в колонке ответ написано "304 Not Modified (HC)" :oops:

Доктор ТуамОсес, ты кнопкой "Поиск (http://handycache.ru/component/option,com_smf/Itemid,10/action,search/)" пользоваться-то умеешь? Сто раз уже обсуждалось, что значит "304 Not Modified (HC)", как оно работает и почему не учитывается в статистике:
http://handycache.ru/component/option,com_smf/Itemid,10/topic,283.0/
http://handycache.ru/component/option,com_smf/Itemid,10/topic,158.0/
http://handycache.ru/component/option,com_smf/Itemid,10/topic,63.0/


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: Доктор ТуамОсес от 25 мая 2011, 00:07:01
Цитировать
ответ написано "304 Not Modified (HC)"
Ответ 304 означает, что реально НС не отдавал файл браузеру, а только сообщил ему, что файл не изменился (ответ состоял из одного заголовка). Браузер взял файл из своего кэша.
А файл реально не изменился, или просто с момента его последней закачки прошло времени меньше, чем указано в "критерии свежести", и поэтому дата файла на сервере не проверялась Кэнди Кэшем?
Добавлено: 24 Мая 2011, 23:42:41

Доктор ТуамОсес, ты кнопкой "Поиск (http://handycache.ru/component/option,com_smf/Itemid,10/action,search/)" пользоваться-то умеешь? Сто раз уже обсуждалось, что значит "304 Not Modified (HC)", как оно работает и почему не учитывается в статистике:
...
http://handycache.ru/component/option,com_smf/Itemid,10/topic,158.0/
...
Раз уж  тема " Нужен ли расчет экономии и в каком виде?" (на которую ссылается данная Вами ссылка) закрыта, то отвечу здесь.
Расчёт экономии трафика нужен. Но считаться должен по другому. Кроме суммарного объёма взятых их кэша файлов в "мониторе" должно показываться общее кол-во файлов:
1) взятых из инета
2) взятых из кэша HC + НЕ взятых ниоткуда (файлов, загрузка которых была предотвращена/заблокирована (файлы из чёрного списка, или файлы, вместо загрузки которых HC отправил браузеру ответ "Not Modified"))

Т.е. статистика работы HC, ИМХО, должна выглядеть примерно так:
Суммарный объём файлов, взятых из инета: 146 667 678 байт
Суммарный объём файлов, переданных браузеру из кэша HC : 36 666 989 байт
Всего файлов загружено из инета: 46 889 штук
Всего новых файлов в кэше HC: 23 454 штук
Всего обновлённых файлов в кэше HC: 12 456 штук
Всего новых + обновлённых файлов в кэше: 35 910 штук
Предотвращена загрузка из инета: 567 777 файлов


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: mai62 от 25 мая 2011, 00:07:15
Ты же сам написал, что
Цитировать
как человек не глупый, занёс файлы с расширениями CSS, JS и GIF в список не "обновлять"
Раз не глупый (вот ты три книжки пишешь, может скажешь как правильно "не глупый" писать в данном контексте, слитно или раздельно?) человек сказал не обновлять, значит без вопросов не обновлять.
А вообще 304 может появиться в разных ситуациях, в зависимости он этого и действия разные были перед этим. Читай документацию, там с картинками описано как чего проверяется.


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: Доктор ТуамОсес от 20 июля 2011, 17:07:03
вот ты три книжки пишешь
Да!  :thanks:
А ещё я разрабатываю ряд новых концепций, от которых цивилизация содрогнётся/перевернётся (т.е. эти концепции в корне изменят весь ход развития всей цивилизации на планете Земля и за её пределами).
Т.е. занимаюсь цивилизом.
В частности я разрабатываю новые парадигмы в программировании и новые концепции построения систем виртуальных миров (цифровых вселенных) :oops:


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: shveicar от 15 марта 2012, 16:56:23
Здравствуйте, внимательно прочитал все, что написано в этом топике, но ситуация до конца не понятна. В моём случае происходит повторная загрузка сайта  программой offline explorer через handy в опциях не обновлять стоят галки разрешен правило (.)* Только из кеша -отключена, запись в кеш - разрешен - правило .* преобразоввание url  включено с настройками по умолчанию версия 1.0.0.377  происходит следущее: большая часть файлов отдается из кеша в offline explorer (архивы, видео) но некоторые файлы не отправляются - а идет ответ 304 Not Modified  Все файлы были ранее скачены примерно в одно время, никаких ограничений по времени не выставлено почему одни файлы отправляются из кеша , а другие нет? (кстати многие ссылки изображений имеют вид /view_image.php?galid=3686&section=126&num=102&ss=5&width=680&height=950 то-есть без расширения) и получается, что  картинки невозможно загрузить в offline explorer Как Я понимаю, рекомендация в таком случае одна - загрузить вначале все что можно извлечь из кеша, затем убрать галку в опции не обновлять, и загрузить остальной контент с сервера (опять же для экономии трафика), создание правила для каждого конкретного случая Я не рассматриваю. Почему бы, не предусмотреть в будущих версиях - возможности отдавать все файлы из кеша, а не ответа 304 Not Modified?


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: mai62 от 15 марта 2012, 17:30:23
Раз отдается ответ 304 Not Modified, значит в запросе было If-Modified-Since. Наличие If-Modified-Since означает, что у клиента в собственном кэше уже есть своя версия этого файла и он просит отдать ему файл только в том случае, если на сервере есть более свежая версия файла.
Цитировать
кстати многие ссылки изображений имеют вид /view_image.php?galid=3686&section=126&num=102&ss=5&width=680&height=950 то-есть без расширения
Если по расширению файла невозможно распознать картинку, то можно использовать расширение eA_Dont_update_image_by_type.lua или eR_Dont_update_image_by_type_in_cache.lua. Эти расширения есть в архиве с НС.


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: shveicar от 15 марта 2012, 18:55:47
Спасибо, а как для этих целей  воспользоваться расширением например eA_Dont_update_image_by_type.lua (сам файл нашел, какую команду надо добавлять в правило, и нужно ли менять место расположения файла или он должен оставаться в папке Extensions?) с Файлом HCExtensions.html ознакомился, но там речь идет о допустимых действиях, именах... словом - не вижу связи с практическим применением, понимаю, что мой вопрос может показаться наивным, но прошу - разъясните, как этим пользоваться... - Спасибо.


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: mai62 от 16 марта 2012, 16:28:11
Нужно добавить фал расширения в список расширений на вкладке Расширения.


Название: Re: Ответ "304 Not Modified (HC)"
Отправлено: shveicar от 16 марта 2012, 17:36:29
Спасибо, коротко и понятно.. :)