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

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

Сообщений: 5513



« : 10 февраля 2007, 16:08:49 »

DenZzz
Цитировать
Дата, переданная с сервера по большому счету нам не нужна
Не всегда. Если мы хотим, чтоб кэш работал без ошибок, то должны учитывать возможность изменения файла в промежуток между переданной с сервера датой и системной датой на время сохранения файла. Этот промежуток может быть существенным, если:
- соединение медленное;
- быстрое, но иногда впадающее в ступор;
- на пути от сервера до НС куча промежуточных прокси, а тем паче сжимающий сервис;
- время сервера рассинхронизировано с временем НС.
Я думаю, пренебрегать этим не следует. И хранить надо именно дату, посылаемую сервером. И это, на мой взгляд, еще один довод в пользу предлагаемого тобой создания индекса.
« Последнее редактирование: 10 февраля 2007, 16:16:31 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #1 : 10 февраля 2007, 16:47:45 »

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

Если для нас так важна "свежесть" этих некоторых файлов, что счет идет на секунды, то нам следует вообще запретить их кэширование!

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

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

Сообщений: 5513



« Ответ #2 : 10 февраля 2007, 17:06:04 »

Цитировать
Если для нас так важна "свежесть" этих некоторых файлов, что счет идет на секунды, то нам следует вообще запретить их кэширование!
Это если мы знаем их "в лицо". Если же нет - получим некорректный кэш.
И кстати, если нам секунды никогда не важны, зачем тогда в "Не обновлять" время задается в секундах?
« Последнее редактирование: 10 февраля 2007, 17:26:22 от Михаил » Сообщить модератору   Записан
NothingAnother
Beta tester
*****

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

Сообщений: 434

Spoiler


« Ответ #3 : 10 февраля 2007, 17:16:26 »

в "Не обновлять" время задается в секундах
Это из какого ж фака такая инфа? Непонимаю Выходит, баллун там всплывает неверный? Подмигивающий
Сообщить модератору   Записан

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

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

Сообщений: 5513



« Ответ #4 : 10 февраля 2007, 17:25:55 »

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

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

Сообщений: 5589



« Ответ #5 : 10 февраля 2007, 18:39:33 »

Это если мы знаем их "в лицо". Если же нет - получим некорректный кэш.

А кэш и не может (да и не должен!) по свежести соперничать с сервером! На то он и кэш, чтобы хранить ранее просмотренное, не претендуя на абсолютную актуальность!

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

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

Сообщений: 5513



« Ответ #6 : 10 февраля 2007, 18:52:54 »

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

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

Сообщений: 5589



« Ответ #7 : 26 февраля 2007, 08:06:21 »

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

Если для тебя так важна абсолютная актуальность кэша, то тебе вообще не нужен HC ! Все это умеет и собственный кэш браузера, который следует всем директивам сервера: max-age, Expires, no-cache и т.д.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #8 : 26 февраля 2007, 10:44:47 »

DenZzz
Мы ж уже обсуждали, что счет "идет на секунды" далеко не всегда/у всех, может идти речь о часах и днях.
« Последнее редактирование: 26 февраля 2007, 10:50:36 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #9 : 26 февраля 2007, 12:25:24 »

Михаил

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

Если же тебе нужен абсолютно актуальный кэш, то используй собственный кэш браузера, который следует всем директивам сервера: max-age, Expires, no-cache и т.д.

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

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

Сообщений: 5513



« Ответ #10 : 26 февраля 2007, 12:37:27 »

DenZzz
Копирование собственного кэша браузера тут ни при чем. Мы сами хотим улучшить показатели кэша НС (безотносительно к кэшу браузера) за счет добавления возможности учета времени устаревания (expiration). Для этого нужно хранить Date, т.к. оно может сильно отличаться от системного времени. Вот и все.
PS. Как-то неудачно размазали один вопрос по нескольким топикам Подмигивающий
Сообщить модератору   Записан
Сергей
Beta tester
*****

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

Сообщений: 621



« Ответ #11 : 26 февраля 2007, 12:52:41 »

нужно хранить Date, т.к. оно может сильно отличаться от системного времени.

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

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

Сообщений: 5513



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

Ты так и не привел пример такого глючного сайта.
Двумя своими постами выше я давал ссылку
Дело не в глючности сайта, почитай...
Сообщить модератору   Записан
Сергей
Beta tester
*****

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

Сообщений: 621



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

Глюк воспроизвести кроме тебя никому не удалось. Или я что-то пропустил там?
Объясни, зачем хранить ошибочное время из заголовков?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #14 : 26 февраля 2007, 14:30:53 »

Глюк воспроизвести кроме тебя никому не удалось. Или я что-то пропустил там?
Объясни, зачем хранить ошибочное время из заголовков?
На пути от меня до удаленного сервера стоит кэш (у провайдера, например). Этот кэш запоминает ответ сервера полностью (вместе с заголовком). Затем когда я (или кто-то другой) обращаюсь с тем же запросом к серверу, провайдер выдает мне из своего кэша ответ со старым значением в поле Date. Повлиять на это я не в состоянии.
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #15 : 26 февраля 2007, 22:53:09 »

А если серверу посылать заголовок с указанием не брать из кеша?
Pragma: no-cache вроде... Качалки такое умеют.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



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

Дем
Цитировать
А если серверу посылать заголовок с указанием не брать из кеша?
Pragma: no-cache вроде... Качалки такое умеют.
А зачем? Пусть берет себе! От провайдера путь до меня гораздо короче, чем от удаленного сервера. Мне это выгодно. Надобно поле Date просто сохранять в индексе и все!
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: