+  HandyCache форум
|-+  Главная категория» Общие вопросы» Опция "Игнорировать No-Cache"
Имя пользователя:
Пароль:
Страниц: [1] 2 3 ... 5  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Опция "Игнорировать No-Cache"  (Прочитано 63684 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« : 25 февраля 2007, 17:19:40 »

Судя по монитору (проверено также просмотром папки кэша), очень много URL, пожатых gzip, не пишется в кэш, невзирая на "писать все" в списке "З" (все остальные списки для чистоты эксперимента отключены). Примеры:
http://handycache.ru/component/option,com_smf/Itemid,10/
http://forum.ru-board.com/forum.cgi?forum=bm
Странно. Отчего ж такие файлы игнорируются? Самое интересное - в действительности они лежат в кэше. Т.е. когда-то ранее (видимо в предыдущей версии, т.к. все имеют дату до 9.01.07) они туда писались!
Подскажите, плиз, кто знает, в чем дело (может, в каких-то настройках)?
...
Обнаружил и незипованный файл, отказывающийся писаться в кэш:
http://fileforum.betanews.com/changes/1018630999/1
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #1 : 25 февраля 2007, 20:55:28 »

Михаил

Включи в "Кэш / Управление" опцию "Игнорировать No-cache"!
Сообщить модератору   Записан
cepera_ang
Beta tester
*****

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

Сообщений: 355


« Ответ #2 : 25 февраля 2007, 20:55:28 »

Странно, у меня все из списка записалось, и прочиталось из кеша. Может что-то блокирует доступ к файлу? Или преобразование какое-нибудь странное срабатывает? или ошибки на диске?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #3 : 25 февраля 2007, 22:20:32 »

DenZzz
Цитировать
Включи в "Кэш / Управление" опцию "Игнорировать No-cache"!
Спасибо, писаться началось. Но тогда я не так понимал действие этой галки. Т.е. если галка включена, то ответ с No-cache пишется в кэш. Если мы ее потом когда-нибудь выключили, то информация о том, что файл пришел к нам с No-cache, пропала, и он может пожизненно выдаваться из кэша, хотя мы этого теперь не хотим.  Или не так? Если это так, то лучше No-cache сохранять в индексе.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

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

Сообщений: 434

Spoiler


« Ответ #4 : 25 февраля 2007, 22:25:15 »

если галка включена, то ответ с No-cache пишется в кэш
Да
Цитировать
Если мы ее потом когда-нибудь выключили, то информация о том, что файл пришел к нам с No-cache, пропала
Да
Цитировать
и он может пожизненно выдаваться из кэша, хотя мы этого теперь не хотим
С точностью до-наоборот - он при первом же запросе будет напрямую передан браузеру, без перезаписывания кэшированного
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #5 : 25 февраля 2007, 22:37:22 »

он может пожизненно выдаваться из кэша, хотя мы этого теперь не хотим.  Или не так?

Если в списке "Не обновлять" нет специального правила для такого URL, то он будет каждый раз качаться из Инета, но не писаться в кэш! В итоге, когда-нибудь он попадет под процедуру очистки кэша и удалится...

Цитировать
Если это так, то лучше No-cache сохранять в индексе.

Не нужно пытаться засунуть в индекс кучу лишней информацию, хранить которую нам нет никакой практической пользы! Это увеличит размер индекса и затраты ресурсов на его обработку!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #6 : 25 февраля 2007, 22:39:23 »

С точностью до-наоборот - он при первом же запросе будет напрямую передан браузеру, без перезаписывания кэшированного
Я имею ввиду если после выключения галки он подпадает под список "Н", то будет выдан из кэша, хотя по логике надо б его из инета тянуть.
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

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

Сообщений: 434

Spoiler


« Ответ #7 : 25 февраля 2007, 22:49:52 »

по логике надо б его из инета тянуть
По какой логике? Логику задаёшь ты,- и если в "Н" есть соотв. правило - всё как раз вполне логично...
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #8 : 25 февраля 2007, 23:27:14 »

По какой логике? Логику задаёшь ты,- и если в "Н" есть соотв. правило - всё как раз вполне логично...
В "З" тоже я задавал логику - "писать все". Но она не спросясь обходилась, когда галка "Игнорировать No-cache" включена была. Т.е. опция перекрывает действие "З", но не перекрывает действие "Н". На мой взгляд, не очень логично. Логичнее было б тогда и "Н" и даже "Т" перекрывать, т.е. лезть в сеть.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #9 : 25 февраля 2007, 23:39:16 »

Михаил

Логичней было бы перенести блок настроек:
- Сохранять www. для URL
- Не сохранять файлы меньше ... Байт
- Не сохранять файлы больше ... КБайт
- Игнорировать No-Cache
- Удалять ссылку на порт 80 из имени файла в кэше
в шапку списка "Запись в кэш", как уже кто-то предлагал...

И совсем не логично, что опция "Игнорировать No-Cache" должна еще перекрывать "Н" и "Т", т.к. она всегда относилась только к записи в кэш!
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

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

Сообщений: 434

Spoiler


« Ответ #10 : 25 февраля 2007, 23:48:24 »

В "З" тоже я задавал логику - "писать все". Но она не спросясь обходилась, когда галка "Игнорировать No-cache" включена была
Опять ты всё путаешь - может, имел в виду выключена?
Цитировать
Т.е. опция перекрывает действие "З", но не перекрывает действие "Н". На мой взгляд, не очень логично. Логичнее было б тогда и "Н" и даже "Т" перекрывать, т.е. лезть в сеть
А на мой - так эту опцию вообще следует убрать, сделав поведение HC соответствующим установленной гульке. А для случаев, где это важно - можно использовать "белый" список с обходом "З"
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #11 : 25 февраля 2007, 23:58:11 »

DenZzz
Цитировать
И совсем не логично, что опция "Игнорировать No-Cache" должна еще перекрывать "Н" и "Т", т.к. она всегда относилась только к записи в кэш!
С чего бы это к записи в кэш? Скорее как раз наоборот, к ней она не относится:
Цитата из rfc2616:
If the no-cache directive does not specify a field-name, then a cache MUST NOT use the response to satisfy a subsequent request without successful revalidation with the origin server. This allows an origin server to prevent caching even by caches that have been configured to return stale responses to client requests.
Т.е. как я понимаю, когда есть no-cache, то если НС сохранил этот ответ в кэш, то при повторном запросе он обязан сверить файл с тем, который находится на сервере (т.е. по меньшей мере запросить, не изменился ли он? невзирая на свои списки "Т" и "Н"). Причем тут несохранение в кэш? Для этого no-store есть.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #12 : 26 февраля 2007, 00:04:47 »

Опять ты всё путаешь - может, имел в виду выключена?
Да, под "включена" я имел ввиду конечно же "выключена" Улыбка
Цитировать
А на мой - так эту опцию вообще следует убрать, сделав поведение HC соответствующим установленной гульке. А для случаев, где это важно - можно использовать "белый" список с обходом "З"
Желающие не смогут получить "прозрачный" кэш.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #13 : 26 февраля 2007, 00:13:26 »

Михаил

В твоей цитате есть ключевая фраза: "This allows an origin server to prevent caching...".

Так и поступает HC: когда в заголовках есть "no-cache", то HC по умолчанию НЕ кэширует ответ сервера.
Но раз пользователь сам включил опцию "Игнорировать No-Cache", то HC будет писать такие ответы в кэш со всеми вытекающими последствиями - возможными попаданиями в списки "Н" и "Т"!
« Последнее редактирование: 26 февраля 2007, 00:51:22 от DenZzz » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #14 : 26 февраля 2007, 00:25:42 »

DenZzz
Когда опция включена, то поведение НС сейчас адекватно. К этому и вопросов-то нет.
А вот когда она выключена, то получается, что НС ведет себя неверно. Ему надо писать файл в кэш (если это позволяет список "З"), а при повторном запросе и наличии файла в кэше вести себя так, как если б списки "Т" и "Н" были отключены, т.е. лезть в интернет.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #15 : 26 февраля 2007, 00:45:16 »

Михаил

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

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

Сообщений: 6383


« Ответ #16 : 26 февраля 2007, 00:54:37 »

Михаил
Дело в том, что сегодня НС не сохраняет директиву no-cache.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #17 : 26 февраля 2007, 00:57:41 »

mai62
Я это понял, в связи с чем внес предложение хранить ее в индексе. При надлежащей организации это может занять один бит.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #18 : 26 февраля 2007, 08:22:58 »

Михаил

Необходимость хранения "no-cache" может быть полезна только при сочетании 2 противоречивых факторов:

1. Пользователь сам включил опцию "Игнорировать No-cache", но попользовавшись, решил ее отключить. Вопрос: а зачем он ее включал и почему отключил?
2. В списке "Н" и "Т" есть правила, захватывающие данные, переданные сервером  с "no-cache". Вопрос: почему пользователь об этом не подумал и не отключил/исправил эти правила или не почистил кэш после отключения опции "Игнорировать No-cache"?

Настолько ли вероятно сочетание этих двух факторов, что хранение "no-cache" будет востребовано?

Кажется, опять уперлись в вопрос: а может ли кэш HC иметь абсолютную актуальность? Этот вопрос уже обсуждался вот в этой теме...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #19 : 26 февраля 2007, 10:57:41 »

DenZzz
Цитировать
Вопрос: а зачем он ее включал и почему отключил?
Думал, будет хорошо, а получилось как всегда Подмигивающий
Цитировать
Вопрос: почему пользователь об этом не подумал и не отключил/исправил эти правила или не почистил кэш после отключения опции "Игнорировать No-cache"?
Править правила и чистить кэш после этого нереально - неизвестно, что править/чистить + не хочется.
По-моему, если мы делаем опцию, то она должна правильно работать, сколько ни включай/выключай ее пользователь. Это не связано с абсолютной акутальностью кэша, а связано с корректностью работы программы.
И еще. В конечном итоге НС, на мой взгляд, должна позволять пользователю приблизиться к абсолютной актуальности кэша настолько, насколько он пожелает.
« Последнее редактирование: 26 февраля 2007, 11:02:39 от Михаил » Сообщить модератору   Записан
Страниц: [1] 2 3 ... 5  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: