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

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

Сообщений: 6383


« : 05 января 2011, 01:08:44 »

Цитировать
Отключенное по умолчанию состояние этой опции снижает КПД кэша. Имхо, лучше, чтоб она была включена.
Думаю, прежде чем включать эту опцию по умолчанию надо бы потестировать ее поведение на широком круге пользователей. Предложи в открытой теме включить эту опцию, посмотрим как она себя поведет на публике. Не будет жалоб, включим по умолчанию.
У меня лично эта опция выключена после того как она однажды меня подвела.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #1 : 05 января 2011, 11:35:01 »

Цитировать
посмотрим как она себя поведет на публике.
Это уже сделано. У меня с ней проблем нет с первого дня. Я постоянно объясняю людям, недоумевающим по поводу обновления СМ, что надо включить эту опцию. И ни один, включив ее, не пишет о проблемах.
И еще неплохо было бы писать в колонке "Правила" о том, что из кэша взято именно благодаря этой опции (что-то по аналогии с HC-IMS).
« Последнее редактирование: 05 января 2011, 11:41:01 от Михаил » Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #2 : 05 января 2011, 12:03:04 »

Не будет жалоб, включим по умолчанию.
Жалоб нет. Предлагаю вынести эту опцию в настойки HC: Общие - Управление загрузкой.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #3 : 05 января 2011, 13:01:44 »

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

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

Сообщений: 6383


« Ответ #4 : 05 января 2011, 21:38:43 »

DenZzz
Xoчу поставить действие по этой опции в зависимость от наличия no-cache в заголовке запроса. Тогда по Ctrl+F5 файл будет обновляться не взирая на эту опцию.
Хочу в монитор писать НС-NM (от Not Modified).
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #5 : 05 января 2011, 21:54:42 »

У меня лично эта опция выключена после того как она однажды меня подвела.

Я тоже сталкивался с подобными проблемами на сервере со сбитой датой. HC упорно выдавал старые файлы из кэша, пока я его не почистил. Некоторое время пришлось потратить на выяснения причины, т.к. в мониторе не было никаких пометок!
Поддерживаю предложение: "писать в колонке "Правила" о том, что из кэша взято именно благодаря этой опции (что-то по аналогии с HC-IMS)."
Возможные варианты надписей:
HC-SDOF (аббревиатура StopDownloadingOldFiles)  или просто: HC-OldFile.



DenZzz
Xoчу поставить действие по этой опции в зависимость от наличия no-cache в заголовке запроса. Тогда по Ctrl+F5 файл будет обновляться не взирая на эту опцию.

Это зря! Некоторые браузеры/скрипты сайтов сами вставляют no-cache везде и не по делу! Потому лучше не привязываться к no-cache.

Цитировать
Хочу в монитор писать НС-NM (от Not Modified).

Надпись должна ассоциироваться с названием самой опции. Мои варианты в этом плане удачнее, имхо...
« Последнее редактирование: 07 января 2011, 16:58:33 от DenZzz » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #6 : 05 января 2011, 22:23:39 »

Цитировать
Это зря! Некоторые браузеры/скрипты сайтов сами вставляют no-cache везде и не по делу! Потому лучше не привязываться к no-cache.
Я не видел чтобы браузеры почем зря лепили в заголовок no-cache. Даже если загрузятся с сервера какие-то лишние файлы, это будет лучше, чем если пользователь не сможет получить свежий файл даже по Ctrl+F5. Если пользователь сидит не на компе, где стоит НС, ему надо на сервер бегать, чтобы обновить файл?
Цитировать
Надпись должна ассоциироваться с названием самой опции. Мои варианты в этом плане удачнее, имхо...
Хорошо, сделаю HC-OldFile поскольку опцию я обозвал Остановить загрузку старых файлов.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #7 : 06 января 2011, 01:40:13 »

Я не видел чтобы браузеры почем зря лепили в заголовок no-cache.

А я видел на РБК. Когда их главная страница на автомате обновляется, то no-cache есть во многих запросах, даже на обычные картинки.

Цитировать
Даже если загрузятся с сервера какие-то лишние файлы, это будет лучше, чем если пользователь не сможет получить свежий файл даже по Ctrl+F5. Если пользователь сидит не на компе, где стоит НС, ему надо на сервер бегать, чтобы обновить файл?

Я пользуюсь Оперой, там Ctrl+F5 вообще не работает. Как быть всем пользователям Оперы? Бегать к серверу?

Если и делать зависимость от no-cache, то опция "Игнорировать no-cache" должна ее отключать на общих основаниях.
« Последнее редактирование: 07 января 2011, 17:06:06 от DenZzz » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #8 : 06 января 2011, 12:55:08 »

Цитировать
А я видел на РБК. Когда их главная страница на автомате обновляется, то no-cache есть во многих запросах, даже на обычные картинки.
Если опция не будет мешать обновлению страницы скриптом (скорее всего это скрипт добавляет no-cache в заголовок), то это только плюс. Если это полезный скрипт, то пусть обновляет. Вероятно это нужно пользователю и, если бы опция мешала обновлению, то ее пришлось бы выключить, чтобы не мешала. Если это вредный скрипт, то его нужно вырезать с помощью СМ.
В случае с картинками тоже бывают случаи, когда важно иметь именно свежую версию картинки.
Несмотря на мои возражения, соглашусь, что иногда возможны случаи загрузки файла с сервера, когда загрузка не была обязательной. Это зло. Но это зло меньшее, чем в случае, когда пользователь без лишних телодвижений не сможет получить свежую версию файла. Из двух зол нужно выбирать меньшее. Большинство пользователей, столкнувшись с проблемой получения свежего файла, не станут заморачиваться с ней, а просто выключат опцию (я так и сделал с опцией в ini-файле). Мы этого хотим?
Цитировать
Я пользуюсь Оперой, там Ctrl+F5 вообще не работает. Как быть всем пользователям Оперы?
Им всего лишь нужно нажимать Ctrl+R вместо Ctrl+F5.  Опера такая Опера... Подмигивающий
Цитировать
Попробовал победить проблему, когда СМ забывал инициализироваться после обновления. Проверьте, плиз.
Спасибо, пока обновляет хорошо. Надо понаблюдать еще.
Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #9 : 06 января 2011, 13:51:12 »

Большинство пользователей, столкнувшись с проблемой получения свежего файла, не станут заморачиваться с ней, а просто выключат опцию (я так и сделал с опцией в ini-файле). Мы этого хотим?
Да. Чтобы была галка. На то она и опция...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #10 : 07 января 2011, 11:29:24 »

Мне не кажется удачной привязка опции к no-cache запроса.

Для правильной работы с серверами со сбитой датой можно условием срабатывания опции задавать не
LM_Сервера <= IMS
как сейчас, а
Date_Сервера-LM_Сервера >= СистемноеВремяНС-IMS

PS Хорошо бы перенести это обсуждение в отдельный топик.
« Последнее редактирование: 07 января 2011, 11:49:34 от Михаил » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #11 : 07 января 2011, 11:53:19 »

Цитировать
Для правильной работы с серверами со сбитой датой можно условием срабатывания опции задавать не
LM_Сервера <= IMS
как сейчас, а
Date_Сервера-LM_Сервера <= СистемноеВремяНС-IMS
Хорошая мысль, попробую сделать.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #12 : 07 января 2011, 11:54:30 »

Знак, похоже, будет >=
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #13 : 07 января 2011, 21:23:53 »

Ну как вы предлагаете игнорировать no-cache? Вот смотрите пример заголовков запроса и ответа:
Цитировать
GET /warez HTTP/1.1
Host: rl-team.net
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0b9pre) Gecko/20110107 Firefox/4.0b9pre
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rl-team.net/warez/page/
Cookie: dle_user_id=249239; dle_password=1e1e5f689ba4a08569084d2e43b50113; dle_gzip=rW%2B%2BqY1TJsk%3D; __utma=53380587.1714639340.1282937843.1290798900.1292450967.15; __utmz=53380587.1282937843.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); dle_newpm=0; dle_onl_session=5poj987kp0tftnbmsmrhoe83m0; pma_mcrypt_iv=5MF5TCmD0rE%3D; PHPSESSID=5poj987kp0tftnbmsmrhoe83m0; __utmc=53380587; hotlog=1; s=1
Cache-Control: max-age=0
If-Modified-Since: Fri, 07 Jan 2011 17:27:28 GMT

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 07 Jan 2011 17:29:03 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.4
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: dle_newpm=0; expires=Sat, 07-Jan-2012 17:29:03 GMT; path=/; domain=.rl-team.net; httponly
Last-Modified: Fri, 07 Jan 2011 10:29:03 +0300 GMT
Content-Encoding: gzip
Обратите внимание на Last-Modified. Это явная ложь. Страница формируется динамически и только, что изменилась. В ответе так и будут дата сервера и Last-Modified с разницей 7 часов. С включенной опцией эта страница не обновится никогда.

Вот еще пример:
Цитировать
GET /component/option,com_smf/Itemid,10/ HTTP/1.1
Host: handycache.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0b9pre) Gecko/20110107 Firefox/4.0b9pre
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://handycache.ru/content/view/53/5/
Cookie: 256fff4a5d631562ba8e2e6d503dcc40=827fabeaffaeaede61778cee79b9bcbc; PHPSESSID=a58753546d4e7ff0d7739b0105c54090; dfaf8b958d32999e00affd4aedd4f5b1=80127ba3917d36aebbcc45504a83dfb9
If-Modified-Since: Fri, 07 Jan 2011 17:42:52 GMT
Cache-Control: max-age=0

HTTP/1.1 200 OK
Date: Fri, 07 Jan 2011 17:44:41 GMT
Server: Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a mod_fastcgi/2.4.2 PHP/5.2.10
X-Powered-By: PHP/5.2.10
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: private
Pragma: no-cache
Last-Modified: Fri, 07 Jan 2011 17:44:41 GMT
Content-Encoding: gzip
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
получаем;
Date_Сервера=40550,99
LM_Сервера=40550,99
СистемноеВремяНС=40550,86
IMS=40550,99 (пришел из браузера и был взят из предыдущего заголовка ответа)
Согласно формуле Date_Сервера-LM_Сервера >= СистемноеВремяНС-IMS берем файл из кэша и получаем старую страницу. Причина в том, что мои часы немного отстают от часов сервера. Выходит формулу нельзя применять, если IMS пришел из браузера.

Честно говоря мне уже хочется выключить эту опцию.
« Последнее редактирование: 07 января 2011, 21:35:44 от mai62 » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #14 : 07 января 2011, 23:41:32 »

Выложил сборку 340 с опцией Остановить загрузку старых файлов, посмотрите сами как она работает. На мой взгляд вреда от нее больше чем пользы (чуть не единственная польза - при обновлении СМ грузится меньше файлов). Я с ней не уверен, что после обновления получаю свежую страницу. В результате гружу страницы по Ctrl+F5, расходую лишнее время и трафик (трафик у меня безлимитный, мне-то пофигу, а кому-то нет).
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #15 : 08 января 2011, 00:28:42 »

При повторной загрузке http://rl-team.net/warez/ опция не срабатывает. Может, НС не понимает формат даты, в котором присутствует +0300?
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #16 : 08 января 2011, 00:43:30 »

Дело в том, что стандарта на запись формата даты не существует. Ты же видишь они в одном заголовке использовали два разных формата. Когда я делал разбор даты я нашел штуки четыре варианта формата даты, их поддержку и сделал.
Если я сейчас сделаю поддержку и этого формата, не факт, что еще на каком-то сервере не придумают еще какой-то формат. Но этого мало. На этом сервере разница в датах в 7 часов, 3 лишних часа погоды не сделают.
Я, конечно, могу сейчас подстроиться конкретно под этот сервер. Но это же не выход, под все серверы не подстроишься. Да и этот сервер завтра может начать вести себя по другому.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #17 : 08 января 2011, 00:48:54 »

Цитировать
3 лишних часа погоды не сделают
Этот вопрос не был связан с обсуждением опции.

Похоже, это проблема не rl-team.net, а вообще сервера nginx, который установлен на нем. Я навскидку нашел еще десяток сайтов с такими же ответами. Думаю, их много в сети, поэтому хорошо бы НС знать такой формат даты.

Если я правильно понимаю, Fri, 07 Jan 2011 14:16:34 +0300 GMT
будет соответствовать Fri, 07 Jan 2011 11:16:34 GMT
т.е. эти три часа надо вычесть. И истинная разница между Date и LM будет 10 часов.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #18 : 08 января 2011, 12:15:06 »

Причина в том, что мои часы немного отстают от часов сервера. Выходит формулу нельзя применять, если IMS пришел из браузера.

Мда. Можно в формулу внести настраиваемый временной лаг (аналог "критерия свежести"):
Date_Сервера - LM_Сервера - Лаг >= СистемноеВремяНС - IMS
Лаг будет задаваться пользователем в настройках в формате ЧЧ:ММ.
Для сервера nginx автоматически придется увеличивать лаг еще на 10 часов.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #19 : 08 января 2011, 12:21:33 »

Сейчас нашел такой же косяк на ресурсе с apache. Посмотрел попристальней - все эти ресурсы являются блогами и в качестве движка имеют скрипт Datalife Engine (http://dle-news.ru/). Скорее всего, он и вытворяет этот бред.
Подозреваю, что этот код отнесением LM на 10 часов назад пытается уменьшить частоту обращения к ресурсу индексирующих роботов поисковых систем. Не уверен, что таким способом это ему удастся...

Цитировать
чуть не единственная польза - при обновлении СМ грузится меньше файлов
В мониторе вижу массу полезных срабатываний опции. Например, в играх на Одноклассниках число ее срабатываний огромно.
Иногда HC-OldFile упоминается вместе с HC-IMS (http://webpay.i-jet.ru/lang/ru/bill.xlf). Такое может быть?
« Последнее редактирование: 08 января 2011, 12:59:01 от Михаил » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #20 : 08 января 2011, 15:41:10 »

Цитировать
Иногда HC-OldFile упоминается вместе с HC-IMS (http://webpay.i-jet.ru/lang/ru/bill.xlf). Такое может быть?
А почему нет? Разве это противоречит задумке?
Слишком замороченная опция получается, боюсь она будет требовать постоянных переделок. Предлагаю оформить это дело в виде расширения. Я готов ради этого добавить недостающие переменные/функции. Кто-нибудь возьмется сделать расширение?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #21 : 08 января 2011, 16:06:29 »

Цитировать
Разве это противоречит задумке?
Я понимаю так, что HC-IMS должно получаться при ответе сервера 304, а HC-OldFile - при ответе 200.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #22 : 08 января 2011, 16:27:27 »

HC-OldFile меняет 200 на 304. Появление HC-IMS сигнализирует, что загрузка с сервера была предотвращена благодаря тому, что НС добавил в заголовок свой IMS.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #23 : 08 января 2011, 18:17:12 »

Появление HC-IMS сигнализирует, что загрузка с сервера была предотвращена благодаря тому, что НС добавил в заголовок свой IMS.

Но, в данном случае ведь это не так! Файл выдан из кэша не благодаря добавлению IMS, а потому что сервер шлет старый файл, что обнаружил HC-OldFile. Ответ 304 не пришел с сервера.
Согласен с Михаилом, упоминание HC-IMS здесь лишне и вводит в заблуждение относительно истинной причины выдачи файла из кэша.

Добавлено: 08 Января 2011, 17:56:26

Иногда HC-OldFile упоминается вместе с HC-IMS (http://webpay.i-jet.ru/lang/ru/bill.xlf). Такое может быть?

Не пойму почему, но у меня HC-OldFile вообще не работает, хотя и включена в настройках.

08.01.2011/18:07:40 local/127.0.0.1 http://webpay.i-jet.ru/lang/ru/bill.xlf 3505 3505/232 100% 562 "200 OK" З.1

Добавлено: 08 Января 2011, 18:11:59

В логе все заголовки вроде на месте. HC-OldFile должна работать, но не работает...

* log.rar (1.35 Кб - загружено 14 раз.)
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #24 : 08 января 2011, 18:19:14 »

Странно. И у меня теперь не работает. Согласно заголовкам должна. Что изменилось, непонятно.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #25 : 08 января 2011, 19:49:14 »

Цитировать
Файл выдан из кэша не благодаря добавлению IMS, а потому что сервер шлет старый файл, что обнаружил HC-OldFile. Ответ 304 не пришел с сервера.
если бы НС не добавил IMS, HC-OldFile не обнаружил бы, что файл старый. Поэтому заслуги принадлежат обеим опциям.
Цитировать
Не пойму почему, но у меня HC-OldFile вообще не работает, хотя и включена в настройках.
Потому что в заголовке запроса Cache-Control: no-cache.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #26 : 08 января 2011, 20:05:35 »

если бы НС не добавил IMS, HC-OldFile не обнаружил бы, что файл старый. Поэтому заслуги принадлежат обеим опциям.

HC мог и не добавлять свой IMS, а просто запомнить дату файла в кэше. Тогда бы HC-OldFile сработал как положено и HC-IMS никакой заслуги себе не приписал! Причинно-следственная связь нарушена. Файл взят из кэша, потому что сервер слал старый, а не потому что сервер ответил "304 Not Modified". Это совершенно разные причины.

Кстати, если я отключу в настройках HC вставку IMS, то HC-OldFile вообще не будет работать?
Если так, то это неправильно - для обычного пользователя такая взаимосвязь не логична!

Цитировать
Потому что в заголовке запроса Cache-Control: no-cache.

Лыко-мочало... Опера вставляет no-cache каждый раз, когда нажимаешь кнопку "Обновить", но это вовсе не значит, что мне нужно непременно перекачать файл с сервера! Достаточно просто проверить, что он там не обновился!

В Опере Ctrl+R = кнопка "Обновить". И no-cache она вставляет по какому-то неведомому мне алгоритму. Я не могу ее заставить не вставлять no-cache или наоборот вставлять no-cache во все запросы. Вставка no-cache там живет своей собственной жизнью! Зачем привязывать опцию к такому неадекватному критерию, мне совсем не понятно!
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #27 : 08 января 2011, 21:39:35 »

Цитировать
HC мог и не добавлять свой IMS, а просто запомнить дату файла в кэше. Тогда бы HC-OldFile сработал как положено и HC-IMS никакой заслуги себе не приписал! Причинно-следственная связь нарушена. Файл взят из кэша, потому что сервер слал старый, а не потому что сервер ответил "304 Not Modified". Это совершенно разные причины.
Используемый алгоритм использует IMS. Вы с Михаилом обсуждали этот алгоритм, а я просил вас дать согласованный. Я реализовал алгоритм в том виде как он записан здесь http://handycache.ru/component/option,com_smf/Itemid,10/topic,782.msg13681/#msg13681
Цитировать
Кстати, если я отключу в настройках HC вставку IMS, то HC-OldFile вообще не будет работать?
Будет работать по IMS от браузера.
Цитировать
Зачем привязывать опцию к такому неадекватному критерию, мне совсем не понятно!
Я же писал, что без этого получить свежий файл можно только выключив опцию. Для меня, например, это неприемлемо. Мне проще выключить опцию совсем, чем смыкать ее каждый раз, когда у меня возникнет сомнение в том, что страница свежая.

Я уже предложил вам вынести этот функционал в расширение, пока вашей реакции не видно.
Если не нравится, предлагаю еще такой выход: я восстанавливаю эту опцию в том виде как она была до сих пор, только управление будет галкой, а не через ini-файл, и по умолчанию галка будет снята.
Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #28 : 08 января 2011, 22:11:18 »

Если не нравится, предлагаю еще такой выход: я восстанавливаю эту опцию в том виде как она была до сих пор, только управление будет галкой, а не через ini-файл, и по умолчанию галка будет снята.
На данный момент это оптимальный вариант.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #29 : 08 января 2011, 22:26:38 »

Цитировать
восстанавливаю эту опцию в том виде как она была до сих пор
Плюс вывод надписи "HC-OldFile" и неупоминание при этом "HC-IMS". От включенности опции вставки IMS тоже хорошо бы не зависеть. Пусть берется дата файла в кэше, если нет IMS.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #30 : 08 января 2011, 22:34:07 »

Используемый алгоритм использует IMS. Вы с Михаилом обсуждали этот алгоритм, а я просил вас дать согласованный. Я реализовал алгоритм в том виде как он записан здесь http://handycache.ru/component/option,com_smf/Itemid,10/topic,782.msg13681/#msg13681

Согласен, что принципы HC-OldFile были ранее описаны внутри алгоритма IMS, но все же из разных ветвей алгоритма можно было бы выводить в монитор свои конкретные комментарии. Но если это сложно сделать, то ладно...

Цитировать
Цитировать
Кстати, если я отключу в настройках HC вставку IMS, то HC-OldFile вообще не будет работать?
Будет работать по IMS от браузера.

Подставлять IMS от браузера, а системное время от компьютера с HC в одну формулу как бы бессмысленно! Не согласен? Если время компа сбито назад, то опция будет срабатывать постоянно. Ты вроде сам уже с этим сталкивался...

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

Для меня и сейчас гарантированно получить свежий файл можно только с помощью расширения R-NoCache, иначе много всего надо отключать в HC, не только HC-OldFile.

Цитировать
Я уже предложил вам вынести этот функционал в расширение, пока вашей реакции не видно.

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

Цитировать
Если не нравится, предлагаю еще такой выход: я восстанавливаю эту опцию в том виде как она была до сих пор, только управление будет галкой, а не через ini-файл, и по умолчанию галка будет снята.

ИМХО, раньше было лучше, чем сейчас. Только еще сообщение в монитор надо выводить и "критерий свежести" добавить.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #31 : 09 января 2011, 01:19:12 »

Цитировать
Подставлять IMS от браузера, а системное время от компьютера с HC в одну формулу как бы бессмысленно! Не согласен?
Согласен. В таком случае сравниваются IMS и LM, как и было изначально в алгоритме.
Цитировать
Да, учитывая количество противоречий, видимо, это единственный вариант, который может устроить всех в плане гибкости реализации.
Попробую сделать такое расширение. Если чего-то будет не хватать, добавлю.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #32 : 09 января 2011, 23:49:26 »

Поставить галку, разрешающую расширение HC-OldFile. Выйти из НС. Зайти опять. Выскакивает окно: Расширение "HC-OldFile" не предназначено для работы с текущей версией НС.
Добавлено: 09 Января 2011, 23:30:00

LM < ReqIMS по тем же основаниям, что писали выше, может являться некорректным сравнением:
Например, ниже нас стоит еще один НС и вставляет IMS. Получится, мы сравниваем дату с сервера с датой машины, на которой установлен нижестоящий НС. И при рассинхронизации этих компов или багах сервера (типа описанных выше) опять получим ту же проблему.

Оптимально было бы работать с сохраненными метаданными запросов. mai62, ведутся ли работы в направлении подключения БД?
« Последнее редактирование: 09 января 2011, 23:57:57 от Михаил » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #33 : 10 января 2011, 00:03:33 »

Спасибо, исправлю.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #34 : 10 января 2011, 01:44:05 »

Имхо, добавления переменной hc.hc_ims не требуется.
Можно писать os.time()-hc.cache_file_age и не зависеть к тому же от того, включена или нет опция вставки IMS.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #35 : 10 января 2011, 02:00:56 »

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

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

Сообщений: 5513



« Ответ #36 : 10 января 2011, 02:10:36 »

Чего молчишь по поводу моего вопроса про БД двумя постами выше?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #37 : 10 января 2011, 03:14:15 »

Работа с БД подвигается
Хорошая новость.

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

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

Сообщений: 6383


« Ответ #38 : 10 января 2011, 03:21:39 »

Цитировать
Хорошо, что я спросил, а ты сказал. А то я хотел такое расширение писать.
Полезная вещь будет - возможность задания различных настроек НС по пользователям и группам.
Эту тему мы с DenZzz коротенько обсудили здесь http://handycache.ru/component/option,com_smf/Itemid,10/topic,3473.0/
Если есть соображения, высказывай, пока не поздно.
« Последнее редактирование: 11 января 2011, 22:29:38 от DenZzz » Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #39 : 10 января 2011, 03:26:51 »

На этот адрес попасть не могу. Пишет:

Fatal error: Out of memory (allocated 112459776) (tried to allocate 130010 bytes) in /home/m/mai62/public_html/components/com_smf/smf.class.php on line 295


Кстати, не могу перейти и по ссылке "Подробнее" на главной странице при описании последней публичной версии НС. Пишет:

Извините, но для просмотра этой страницы у Вас недостаточно прав.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #40 : 10 января 2011, 03:41:50 »

Цитировать
Fatal error: Out of memory (allocated 112459776) (tried to allocate 130010 bytes) in /home/m/mai62/public_html/components/com_smf/smf.class.php on line 295
Это временная проблема.
Цитировать
Кстати, не могу перейти и по ссылке "Подробнее" на главной странице при описании последней публичной версии НС.
Где это "Подробнее"?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #41 : 10 января 2011, 03:47:09 »

Кстати, не могу перейти и по ссылке "Подробнее" на главной странице при описании последней публичной версии НС. Пишет:

Извините, но для просмотра этой страницы у Вас недостаточно прав.

Старый баг. Мне также пишет.

Где это "Подробнее"?

После слов: "Скачать последнюю версию в zip-файле" строкой ниже идет: "Подробнее...".
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #42 : 10 января 2011, 03:48:10 »

Где это "Подробнее"?
На http://handycache.ru/ статья "HandyCache RC3 1.0.0.337. Вышла новая бета-версия HandyCache." В ней есть ссылка "Подробнее...". При нажатии пытается увести на http://handycache.ru/content/view/55/, но при попытке захода по этому адресу пишет, что нет прав.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #43 : 10 января 2011, 03:59:16 »

Спасибо. "Подробнее" исправил.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #44 : 10 января 2011, 05:18:53 »

Похоже, hc.request_ims выдает время, превышающее реально заданное в IMS запроса на 3 часа. Т.е. что-то там с поясом возможно напутано.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #45 : 11 января 2011, 00:17:18 »

mai62, hc.request_ims смотрел? Из-за этого у меня не работает как надо расширение HC-OldFile.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #46 : 11 января 2011, 00:25:45 »

Забыл написать: hc.request_ims и hc.hc_ims выдается приведенным к локальному времени, чтобы можно было сравнивать с текущим системным временем.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #47 : 11 января 2011, 00:29:21 »

Тогда в расширении сравнение LM < ReqIMS неправильное?
Как их сравнить в одном масштабе времени?
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #48 : 11 января 2011, 00:37:35 »

hc.str_to_systime тоже выдает локальное время.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #49 : 11 января 2011, 00:39:08 »

Странно... Расширение не работает как задумано. Буду смотреть...
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #50 : 11 января 2011, 00:43:39 »

Или нет... Что-то я запутался. Попробуй преобразовать через systime_to_str в текст и сравнить с заголовком.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #51 : 11 января 2011, 00:57:48 »

В запросе: If-Modified-Since: Mon, 10 Jan 2011 21:54:56 GMT
В расширении: hc.systime_to_str(hc.request_ims)=='Tue, 11 Jan 2011 00:54:56 GMT'
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #52 : 26 января 2011, 16:02:51 »

Что-то эта тема заглохла. Правильно ли работают функции? Что будем делать с опцией Остановить загрузку старых файлов?
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #53 : 26 января 2011, 21:02:54 »

У меня эта опция включена. Ее работа устраивает.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #54 : 26 января 2011, 22:37:35 »

Ну, могу оставить как есть. Если никто не возражает.
Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #55 : 27 января 2011, 00:59:10 »

Ну, могу оставить как есть. Если никто не возражает.
Есть галка в программе и есть расширение "HC-OldFile.lua", а также строка в HandyCache.ini
Код:
[TMainForm]
StopDownloadingOldFiles=True
Как эти варианты активации данной опции взаимодействуют между собой?
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #56 : 27 января 2011, 01:16:08 »

StopDownloadingOldFiles=True больше не нужно использовать.
Вообще от редактирования ini-файла надо отвыкать. Скоро настройки будут храниться в базе данных, там вручную будет сложно ковыряться.
Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #57 : 27 января 2011, 08:28:23 »

StopDownloadingOldFiles=True больше не нужно использовать.
Вообще от редактирования ini-файла надо отвыкать. Скоро настройки будут храниться в базе данных, там вручную будет сложно ковыряться.
Хорошо. Как взаимодействуют "галка" в программе и расширение "HC-OldFile.lua"?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #58 : 27 января 2011, 10:12:21 »

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

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

Сообщений: 6383


« Ответ #59 : 27 января 2011, 15:25:46 »

Цитировать
Хорошо. Как взаимодействуют "галка" в программе и расширение "HC-OldFile.lua"?
Никак. Они друг о друге вообще ничего не знают. Думаю, надо включать что-то одно из двух.
Цитировать
Мне кажется, чтобы не было путаницы, надо оставить что-то одно: или расширение, или опцию.
Лично мне все равно убирать опцию или нет: меня устраивают оба варианта. Надо только решить.
Решение оставить опцию (но не включать ее по дефолту) мне кажется более подходящим, компромиссным. Галка есть, хочешь включай, хочешь не включай. Никому руки не выкручиваются.
Цитировать
Я за расширение в силу его гибкости.
А расширение есть? То, что я сделал вряд ли можно считать окончательным вариантом. Оно сделано для проверки работоспособности новых функций. Кто-нибудь возьмется его довести до ума? Можно к нему какие-то опции прикрутить, список исключений.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #60 : 29 января 2011, 00:11:04 »

Если я оставлю как есть, будут у кого-нибудь принципиальные возражения?
Что-то блокирует сейчас выход новой версии?
Сообщить модератору   Записан
sunserg10
Beta tester
*****

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

Сообщений: 322


« Ответ #61 : 29 января 2011, 00:51:12 »

Если я оставлю как есть, будут у кого-нибудь принципиальные возражения?
Возражений нет.
Сообщить модератору   Записан
Страниц: 1 2 3 4 [Все]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: