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


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

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

 
Перейти в: