Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Новые предложения
»
Кэшировать не только ответы 200
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц: [
1
]
2
Все
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Кэшировать не только ответы 200 (Прочитано 24509 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Кэшировать не только ответы 200
«
:
10 марта 2007, 19:19:50 »
Предлагаю подумать над возможностью кэшировать не только благополучные исходы (типа 200), но и некоторые негативные (типа 404). 404, например, каждый раз будет иметь место, если на любимом сайте нет favicon.ico, а браузер каждый раз его запрашивает. Либо какая-то ссылка на странице устарела.
Реализовано с версии HC 1.0 RC1 с помощью скриптов Lua !
«
Последнее редактирование: 11 января 2008, 08:19:46 от DenZzz
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #1 :
10 марта 2007, 19:44:02 »
Цитата: Михаил от 10 марта 2007, 19:19:50
Предлагаю подумать над возможностью кэшировать не только благополучные исходы (типа 200), но и некоторые негативные (типа 404).
Уже как-то обсуждалось...
Хранить отрицательные ответы хорошо бы, но есть вероятность, что проблема на сервере была временной и, скажем, завтра или через неделю ссылка уже "оживет"! Поэтому надо через какое-то время TTL проверять недоступность ссылки, а также вычищать старые, давно невостребованные записи.
В общем, я вижу реализацию этой опции по образцу существующего DNS-кэша, т.е. хранить отрицательные ответы в БД с ограничением на максимальное количество хранимых записей и с настройкой их TTL...
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Кэшировать не только ответы 200
«
Ответ #2 :
13 марта 2007, 12:23:11 »
Цитата: DenZzz от 10 марта 2007, 19:44:02
В общем, я вижу реализацию этой опции по образцу существующего DNS-кэша, т.е. хранить отрицательные ответы в БД с ограничением на максимальное количество хранимых записей и с настройкой их TTL...
Можно держать их в индексе. Так же как и ответы 301, 302. Кстати, для последних, на мой взгляд, тоже нужно свое TTL, не ассоциированное как сейчас со списками "Т" и "Н".
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #3 :
13 марта 2007, 16:31:00 »
Цитата: Михаил от 13 марта 2007, 12:23:11
Можно держать их в индексе. Так же как и ответы 301, 302. Кстати, для последних, на мой взгляд, тоже нужно свое TTL, не ассоциированное как сейчас со списками "Т" и "Н".
Можно, но только не в том индексе, который будет описывать файлы, лежащие в кэше!
А в каком-то отдельном индексе специально для ответов сервера без передачи файла (301, 302, 403, 404 и т.д.).
А сам этот индекс, ИМХО, должен представлять собой БД по типу DNS-кэша...
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Кэшировать не только ответы 200
«
Ответ #4 :
13 марта 2007, 19:23:23 »
Цитата: DenZzz от 13 марта 2007, 16:31:00
Можно, но только не в том индексе, который будет описывать файлы, лежащие в кэше!
Можно и в том же индексе. В индекс добавится только байт кода ответа. Не надо будет зато создавать отдельную структуру. Индекс по мере ненадобности будет выгружаться из памяти (а точнее замещаться другими). Еще удобство: грузится индекс - автоматом грузится метаинформация о всех файлах сайта, в т.ч. и об отсутствующих/перемещенных. И когда браузер тупо попросит favicon.ico, никуда дополнительно лезть уже не надо. И специальных файлов на диске создаваться (как сейчас для ответов 301 и 302 с окончанием #m в расширении) не требуется.
Кстати, ответь, плиз, если знаешь: программистская работа над внедрением индексов ведется, или эта идея существует пока на уровне наших обсуждений на форуме и неочевидно, будет ли вообще реализовываться?
«
Последнее редактирование: 13 марта 2007, 19:34:57 от Михаил
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #5 :
13 марта 2007, 20:22:00 »
Цитата: Михаил от 13 марта 2007, 19:23:23
Кстати, ответь, плиз, если знаешь: программистская работа над внедрением индексов ведется, или эта идея существует пока на уровне наших обсуждений на форуме и неочевидно, будет ли вообще реализовываться?
Скорее последнее... В ближайших планах добавить pipelining и несколько мелких фич, пофиксить основные баги и отрелизить v1.0 в таком виде. А потом начать писать v2.0 "с чистого листа" на модульно-плагинной основе, чтобы работу по добавлению новых фич можно было распараллелить, т.к.
mai62
один уже
просто не справляется
с потоком запросов...
Но обсуждать, тем не менее, новые опции надо, чтобы была база для будущей работы...
Сообщить модератору
Записан
Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
Re: Кэшировать не только ответы 200
«
Ответ #6 :
20 марта 2007, 13:32:04 »
Цитировать
А в каком-то отдельном индексе специально для ответов сервера без передачи файла (301, 302, 403, 404 и т.д.).
Вообще говоря ответы 4** - с передачей файла.
А на некоторых сайтах даже контент с таким кодом передаётся (с целью недопущения его сохранения)
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Кэшировать не только ответы 200
«
Ответ #7 :
20 марта 2007, 15:43:04 »
Цитата: DenZzz от 13 марта 2007, 20:22:00
А потом начать писать v2.0 "с чистого листа" на модульно-плагинной основе, чтобы работу по добавлению новых фич можно было распараллелить
А исходники открывать не планируется?
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #8 :
20 марта 2007, 17:09:14 »
Цитата: Дем от 20 марта 2007, 13:32:04
Вообще говоря ответы 4** - с передачей файла.
А на некоторых сайтах даже контент с таким кодом передаётся (с целью недопущения его сохранения)
Да, бывает и такое, но в большинстве случаев "404" используется по своему прямому назначению и вместе с ним передается информация типа: "Нет такой страницы", не имеющая для нас практической значимости! Следовательно, и сохранять ее не обязательно - достаточно сохранить сам факт отрицательного ответа, чтобы повторно не обращаться к серверу какое-то время!
Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?
Цитата: Сергей от 20 марта 2007, 15:43:04
А исходники открывать не планируется?
Спроси у
mai62
...
Сообщить модератору
Записан
Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
Re: Кэшировать не только ответы 200
«
Ответ #9 :
22 марта 2007, 03:54:04 »
Цитировать
Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?
Реальные УРЛ - сейчас не припомню, но это был сайт с картинками (которые собственно и защищались)
Как - наверно как и винда - по размеру. Если больше типичного значения для пустой страницы (скажем 0.5-1-2к) - то хранить
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Кэшировать не только ответы 200
«
Ответ #10 :
09 апреля 2007, 13:34:04 »
Цитата: DenZzz от 20 марта 2007, 17:09:14
Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?
Вот
здесь
набрел на пример. Вместе с "404 Not Found" качается 114x2=228 кБ!!! данных. Полезность их оценить не могу, но судя по названию файла и тайному способу его закачки, подозреваю только вредность.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #11 :
09 апреля 2007, 14:09:31 »
Цитата: Михаил от 09 апреля 2007, 13:34:04
Вот
здесь
набрел на пример. Вместе с "404 Not Found" качается 114x2=228 кБ!!! данных.
Что-то не вижу!
Из "404" только 2 "мелких" картинки:
Цитировать
09.04.2007/14:59:18 local/127.0.0.1
http://www.thg.ru/images/1x1.gif
0 4605/219 0 370 "404 Not Found"
09.04.2007/14:59:19 local/127.0.0.1
http://www.thg.ru/image/1x1.gif
0 853/219 0 369 "404 Not Found"
Точный URL твоих "404" не припомнишь?
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Кэшировать не только ответы 200
«
Ответ #12 :
09 апреля 2007, 15:11:11 »
Цитата: DenZzz от 09 апреля 2007, 14:09:31
Что-то не вижу!
Из "404" только 2 "мелких" картинки:
Точный URL твоих "404" не припомнишь?
Они ("мелкие картинки") и есть. На самом деле это html-файл размером ~114 КБ.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #13 :
09 апреля 2007, 16:08:19 »
Цитата: Михаил от 09 апреля 2007, 15:11:11
На самом деле это html-файл размером ~114 КБ.
Если кликать по твоей
ссылке
, то эти "404" гораздо меньше:
Цитировать
09.04.2007/14:59:18 local/127.0.0.1
http://www.thg.ru/images/1x1.gif
0
4605
/219 0 370 "404 Not Found"
09.04.2007/14:59:19 local/127.0.0.1
http://www.thg.ru/image/1x1.gif
0
853
/219 0 369 "404 Not Found"
Всего ~5 кб в сумме! Загружал ту страницу раз 10 - размер "404" всегда был не больше ~5 кб!
А вот если, например, попытаться загрузить ссылку
http://www.thg.ru/images/1x1.gif
в отдельном окне, то сервер отдает вместо нее главную страницу того сайта! И хранить ее в кэше в разных файлах для каждого такого "404" - это бессмысленно замусоривать кэш!
В общем, это бесполезный контент, который хранить даже вредно...
«
Последнее редактирование: 09 апреля 2007, 16:16:18 от DenZzz
»
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Кэшировать не только ответы 200
«
Ответ #14 :
09 апреля 2007, 16:51:03 »
Цитата: DenZzz от 09 апреля 2007, 16:08:19
И хранить ее в кэше в разных файлах для каждого такого "404" - это бессмысленно замусоривать кэш!
В общем, это бесполезный контент, который хранить даже вредно...
Хранить - и так понятно. Тут качать тело неизмеримо вреднее! Придется правило в Черный список писать. Неплохо бы знать, много ли таких фокусов в сети? Ежели так, то имеет смысл увидев "404" останавливать закачку.
PS Зашел на тот же адрес через другого провайдера - результат тот же: файл 1x1.gif занимает 114 кБ.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #15 :
09 апреля 2007, 19:19:42 »
Цитата: Михаил от 09 апреля 2007, 16:51:03
Зашел на тот же адрес через другого провайдера - результат тот же: файл 1x1.gif занимает 114 кБ.
Заходил через двух разных провайдеров - не более 3 кб на "404", если не открывать в отдельном окне! Думаю, сервер Referer парсит...
Сообщить модератору
Записан
cepera_ang
Beta tester
Репутация: +9/-4
Offline
Сообщений: 355
Re: Кэшировать не только ответы 200
«
Ответ #16 :
09 апреля 2007, 20:17:01 »
Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то. Бывает откроешь старенькую страничку, а картинки по старым ссылкам пытаются загружаться, и так штук 40 по сто кбайт...
Сообщить модератору
Записан
Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
Re: Кэшировать не только ответы 200
«
Ответ #17 :
09 апреля 2007, 22:40:31 »
Цитировать
Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то. Бывает откроешь старенькую страничку, а картинки по старым ссылкам пытаются загружаться, и так штук 40 по сто кбайт...
Ну это его так настроили. Не очень умно, правильнее был бы редирект на главную, а не отдача её с 404.
Но надо отметить - браузер её отображает.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Кэшировать не только ответы 200
«
Ответ #18 :
09 апреля 2007, 23:59:01 »
Цитата: cepera_ang от 09 апреля 2007, 20:17:01
Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то.
Опытным путем обнаружил, что главная страница thg.ru на "404" всегда грузится только в Опере, а в Макстоне (IE) такой проблемы нет!
P.S. Вот поэтому я и не люблю Оперу...
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Кэшировать не только ответы 200
«
Ответ #19 :
11 апреля 2007, 11:06:04 »
Опера не виновата в том, что у кого-то руки не из того места растут
Надо как-то бороться с такими глючными серверами.
«
Последнее редактирование: 11 апреля 2007, 11:18:13 от Сергей
»
Сообщить модератору
Записан
Страниц: [
1
]
2
Все
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...