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

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

Сообщений: 5513



« : 14 января 2007, 19:45:30 »

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

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

Сообщений: 434

Spoiler


« Ответ #1 : 14 января 2007, 20:04:43 »

То, что мы желаем у него просить, определяется суммой списков "Только из кэша" и "Не обновлять"
Кроме явного (рукотворного) "Не обновлять" существует ещё неявный "If-Modified-Since"
Сообщить модератору   Записан

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

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

Сообщений: 5589



« Ответ #2 : 14 января 2007, 20:25:21 »

Михаил

Ты забыл, что многие используют кэш HC для offline-серфинга, когда нет соединения с Интернетом, но надо просмотреть из кэша, например, вчерашние сайты!

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

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

Сообщений: 5513



« Ответ #3 : 14 января 2007, 21:09:20 »

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

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

Сообщений: 5589



« Ответ #4 : 14 января 2007, 21:43:32 »

Михаил

Цитировать
Как действует НС при обработке списка "Не обновлять"? Если url удовлетворяет правилу, но не удовлетворяет критерию свежести, то он грузится из Инета. Если при этом он не попадает в список "Запись в кэш", то в кэше он, получается, не обновляется. И после этого он не обновляется каждый последующий раз, пусть даже с момента последнего доступа и не истекло время, заданное в критерии свежести.

Если пользователь исключил URL из списка "Запись в кэш", значит ему не надо, чтобы он кэшировался! А что он забыл (не захотел) почистить свой кэш, то это его личное дело!

Он мог бы и просто добавить URL в Белый список для обхода проверки "Запись в кэш" и "Не обновлять", тогда и удалять из кэша этот URL не обязательно, если диск большой!

Цитировать
Другими словами, при срабатывании правила и несрабатывании критерия свежести в списке "Н" писать в кэш, не взирая на список "З".

Может, пользователь специально исключил URL из списка "Запись в кэш", чтобы он всегда качался из Инета, а ты предлагаешь его все равно сохранять в кэш, вопреки списку "З", да еще и "Не обновлять" потом! Это еще более не логично!

Цитировать
Подскажите пожалуйста, как в настоящий момент поступает НС? Пишет в кэш в этом случае, наплевав на список "З", или нет? Если нет, то предлагаю обсудить целесообразность этого.

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

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

Сообщений: 5513



« Ответ #5 : 14 января 2007, 22:24:17 »

DenZzz
Цитировать
Есть 2 разных списка: "З" и "Н" - с разной функциональностью! И путать их функции не имеет смысла! Это не логично!

Надо расставить все по полкам:
Есть две цели кэширования - 1. Экономия трафика/времени в онлайне. 2. Просмотр истории в автономном режиме.
1. Список "З" не актуален, т.к. здесь мы указываем на то, что хотим кэшировать и соответственно писать на диск исключительно списками "Т" и "Н".
2. Списки "Т" и "Н" не актуальны. Зато список "З" позволяет нам писать на диск все, что хотим потом смотреть в оффлайне.
Сейчас же мы имеем как раз "путание функций", когда "З" вступает в кофликт с "Н" и бремя разрешения этого конфликта целиком перекладывается на пользователя.
Предлагаю однозначно позиционировать, что в "З" прописывается все то, что пользователь желает видеть в оффлайне. "Т" и "Н" определяют то, что пользователь хочет кэшировать в онлайне и сообразно этому решение о записи в кэш принимается без согласования с "З".
Вот в этом варианте пользователь разгружен от необходимости удержания в голове возможных последствий изменения одного списка для правильной работы других.
Так что же логичнее!

Небольшая ремарка:
Цитировать
Может, пользователь специально исключил URL из списка "Запись в кэш", чтобы он всегда качался из Инета, а ты предлагаешь его все равно сохранять в кэш, вопреки списку "З", да еще и "Не обновлять" потом! Это еще более не логично!
Не так! Исключение из списка "З" вовсе не означает, что url всегда начнет качаться из Инета. А вот если пользователь уберет его из "Т" и "Н", то качаться из Инета он будет всегда (естественно, не учитываем в рассмотрении "Ч" и др. не относящиеся к сути темы варианты).
« Последнее редактирование: 14 января 2007, 22:29:52 от Михаил » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #6 : 14 января 2007, 22:51:36 »

DenZzz
Что говорит пользователь, внося запись в "Н": "Хочу экономить на этих данных трафик/время и не обновлять их, но только при том условии, что они не сильно устарели". Не внося при этом записи в "З" он, согласно ныне действующей логике НС, говорит: "Мне не нужно обновлять эти данные, как бы они ни устарели". Налицо противоречие. И на каком основании ты разрешаешь его в пользу второго высказывания? Чем оно приоритетнее первого?
Если же принять предлагаемую мной логику, то второе высказывание примет форму: "Мне безразлично, будут ли у меня эти данные при просмотре в оффлайне". При этом противоречие устраняется.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #7 : 14 января 2007, 22:55:35 »

Михаил

Цитировать
Есть две цели кэширования - 1. Экономия трафика/времени в онлайне. 2. Просмотр истории в автономном режиме.

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

Цитировать
1. Список "З" не актуален, т.к. здесь мы указываем на то, что хотим кэшировать и соответственно писать на диск исключительно списками "Т" и "Н".

Список "Только из кэша" ты зачем сюда приплел? Он отвечает ТОЛЬКО за показ того, что УЖЕ сохранено в кэше списком "Запись в кэш"! Если в кэше нет файла, то браузер получит "404 Not Found"!

Цитировать
Сейчас же мы имеем как раз "путание функций", когда "З" вступает в кофликт с "Н" и бремя разрешения этого конфликта целиком перекладывается на пользователя.

Не вижу никакого конфликта! А грамотная настройка нужна любому софту!

Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #8 : 14 января 2007, 23:04:30 »

Михаил

Цитировать
Не внося при этом записи в "З" он, согласно ныне действующей логике НС, говорит: "Мне не нужно обновлять эти данные, как бы они ни устарели".

Не верно! Он говорит: "Мне не нужно сохранять эти данные в кэш! Я хочу их каждый раз качать из Инета, если они мне понадобятся!"

А то, что при изменении правил в списке "З" пользователь забыл почистить кэш от этих "лишних" файлов, то это его проблема! Пусть хотя бы тогда добавит эти сайты в "Белый список", чтобы списки "Н" и "Т" не срабатывали!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #9 : 14 января 2007, 23:05:56 »

DenZzz
Цитировать
Список "Только из кэша" ты зачем сюда приплел?

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

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

Сообщений: 5513



« Ответ #10 : 14 января 2007, 23:12:33 »

DenZzz
Цитировать
Не верно! Он говорит: "Мне не нужно сохранять эти данные в кэш! Я хочу их каждый раз качать из Инета, если они мне понадобятся!"

1. Выделенное жирным шрифтом - это твой домысел к тому, что он говорит.
2. Но это не важно. Видишь ли ты противоречие между первым и вторым высказыванием? Если да, то повторяю вопрос: почему отдаешь предпочтение одному высказыванию перед другим?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #11 : 14 января 2007, 23:17:34 »

Михаил

Цитировать
Список "Т" здесь играет роль не наличием, а отсутствием в нем записи.

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

Список "Т" показывает ТОЛЬКО то, что УЖЕ было сохранено в кэше ранее списком "Запись в кэш"!

Если не будет списка "З", то список "Т" не сможет нормально работать, т.к. писать в кэш по твоей логике сможет только список "Н", в котором может и не быть того, что прописано в списке "Т"!
« Последнее редактирование: 14 января 2007, 23:43:48 от DenZzz » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #12 : 14 января 2007, 23:28:15 »

Михаил

Цитировать
1. Выделенное жирным шрифтом - это твой домысел к тому, что он говорит.

Нет, как раз, вымысел - это твое высказывание: "Мне не нужно обновлять эти данные, как бы они ни устарели", т.к. не факт, что в кэше, вообще, есть эти данные!
Мое высказывание ближе к истине!

Цитировать
2. Но это не важно. Видишь ли ты противоречие между первым и вторым высказыванием? Если да, то повторяю вопрос: почему отдаешь предпочтение одному высказыванию перед другим?

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

Список "З" определяет то, что надо писать в кэш, а списки "Т" и "Н" берут из кэша то, что УЖЕ записал туда список "З"!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #13 : 14 января 2007, 23:38:28 »

DenZzz
Цитировать
Если не будет списка "З"

Насчет ненужности "З" я погорячился, не приняв во внимание существование автономного режима.
Сейчас же речь идет о четком и однозначном разделении функций между "З" с одной стороны и "Т" и "Н" - с другой. "З" - для оффлайна, "Т" и "Н" - для экономии трафика.
Предлагаемый вариант: дать возможность экономить трафик как того хочет пользователь, целиком основываясь на "Т" и "Н", для чего писать в кэш, не смотря в "З". Этим устраняется указанное выше противоречие. Конкретно это будет выглядеть так: Если (url отсутствует в "Т" или есть в "Б" с отмеченной галкой на "Т") и (есть в кэше, есть в "Н", но требует обновления по критерию свежести) пишем его в кэш, НЕ ВЗИРАЯ НА "З". Через "З" пропускаем остальные url-ы, предварительно выбранные для загрузки из Инета.

Извини, я исправил условие после опубликования.
« Последнее редактирование: 15 января 2007, 00:10:02 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #14 : 14 января 2007, 23:55:04 »

Михаил

Цитировать
Если (url отсутствует в "Т" или есть в "Б" с отмеченной галкой на "Т") и (есть в "Н", но требует обновления по критерию свежести) пишем его в кэш, НЕ ВЗИРАЯ НА "З".

Как будет работать "Т", если в кэше нет его файлов! И попасть они туда по твоей логике не смогут!

Ходим по кругу! Перечитай еще раз мои посты про список "Т"... Похоже, ты не понимаешь логику его работы!
« Последнее редактирование: 15 января 2007, 00:01:31 от DenZzz » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #15 : 15 января 2007, 00:44:52 »

Если не против, давай попробуем еще раз:

Отсутствие url в списках "Т" и "Н" приводит к выводу, что в будущем для целей экономии трафика он нам понадобиться не может, поэтому в кэш для этих целей его писать бесполезно, но может понадобиться при просмотре в оффлайне, поэтому прогоняем его через "З";
Если же url отсутствует в "Т", но есть в "Н", то это прежде всего означает, что мы желаем экономить на нем трафик вне зависимости от необходимости его просмотра в автономном режиме, поэтому пишем в кэш, не взирая на "З". При этом грузим url из Инета (соответственно, пишем в кэш):
   - если его нет в кэше;
   - если в кэше он уже есть, но просрочен.

P.S. Спасибо за репутацию.
« Последнее редактирование: 15 января 2007, 01:06:31 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #16 : 15 января 2007, 01:12:30 »

Михаил

Цитировать
Если же url отсутствует в "Т", но есть в "Н", то это прежде всего означает, что мы желаем экономить на нем трафик вне зависимости от необходимости его просмотра в автономном режиме, поэтому пишем в кэш, не взирая на "З".

Это понятно. Но это только половина проблемы!

Рассмотрим другую ситуацию: "З" выключен, т.к. нам не нужен автоном (по твоей логике). URL входит в "Т", но НЕ входит в "H"! Файлов в кэше пока нет (только поставили HC)! Вопрос: как этот URL вообще попадет в кэш?

И еще один нюанс! Обрати внимание на пост NothingAnother! Ты точно понял его мысль? А это тоже экономия трафика, причем часто немалая!

Цитировать
P.S. Спасибо за репутацию.

Это не я! Кто-то еще нас читает... Подмигивающий
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #17 : 15 января 2007, 01:21:48 »

DenZzz
Цитировать
Рассмотрим другую ситуацию: "З" выключен, т.к. нам не нужен автоном (по твоей логике). URL входит в "Т", но НЕ входит в "H"! Файлов в кэше пока нет (только поставили HC)! Вопрос: как этот URL вообще попадет в кэш?

Когда url входит в "Т", то вне зависимости от того, входит ли он в "Н", это означает: "Мне безразлично, будет ли мне показан этот url, но он не должен съесть ни грамма трафика". А раз безразлично, зачем писать его в кэш?

Цитировать
Обрати внимание на пост NothingAnother
Обратил, но осмыслить, меняет ли это что-нибудь в данном контексте, еще не успел :-) Дай время... Если ты сам уже осмыслил, подскажи, а то голова и так кругом...
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #18 : 15 января 2007, 01:42:20 »

Михаил

Цитировать
Когда url входит в "Т", то вне зависимости от того, входит ли он в "Н", это означает: "Мне безразлично, будет ли мне показан этот url, но он не должен съесть ни грамма трафика". А раз безразлично, зачем писать его в кэш?

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

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

Цитировать
Обратил, но осмыслить, меняет ли это что-нибудь в данном контексте, еще не успел

Если файл, которого даже нет в списке "Н", есть в кэше HC, то он вставляет в запрос на сервер в Инете заголовок  "If-Modified-Since"! Если файл на сервере не изменился с указанной даты, то сервер отвечает "304 Not Modified", но сам файл не посылает! У HC есть все законные основания взять файл в своем кэше и отдать его браузеру! На этом можно сэкономить десятки и даже сотни кБ на каждой загрузке статических страниц (сайтов)!

С твоей логикой HC этого сделать не сможет, т.к. у него в кэше просто не окажется нужных файлов!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #19 : 15 января 2007, 01:43:44 »

Не. If-Modified-Since не влияет на тему. Уже после того как принято решение грузить url из Инета он вмешивается, ищет url в кэше и если находит, грузит только ответ сервера о том, изменен ли он. По итогам принимает решение, грузить дальше весь url или тянуть его из кэша. В любом случае вопрос записи в кэш обходится стороной.
Сообщить модератору   Записан
Страниц: [1] 2 3 ... 8   Вверх
  Отправить эту тему    Печать  

 
Перейти в: