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

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

Сообщений: 5513



« : 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 Offline

Сообщений: 5589



« Ответ #1 : 10 марта 2007, 19:44:02 »

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

Уже как-то обсуждалось...

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

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

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

Сообщений: 5513



« Ответ #2 : 13 марта 2007, 12:23:11 »

В общем, я вижу реализацию этой опции по образцу существующего DNS-кэша, т.е. хранить отрицательные ответы в БД с ограничением на максимальное количество хранимых записей и с настройкой их TTL...
Можно держать их в индексе. Так же как и ответы 301, 302. Кстати, для последних, на мой взгляд, тоже нужно свое TTL, не ассоциированное как сейчас со списками "Т" и "Н".
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #3 : 13 марта 2007, 16:31:00 »

Можно держать их в индексе. Так же как и ответы 301, 302. Кстати, для последних, на мой взгляд, тоже нужно свое TTL, не ассоциированное как сейчас со списками "Т" и "Н".

Можно, но только не в том индексе, который будет описывать файлы, лежащие в кэше!
А в каком-то отдельном индексе специально для ответов сервера без передачи файла (301, 302, 403, 404 и т.д.).
А сам этот индекс, ИМХО, должен представлять собой БД по типу DNS-кэша...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #4 : 13 марта 2007, 19:23:23 »

Можно, но только не в том индексе, который будет описывать файлы, лежащие в кэше!
Можно и в том же индексе. В индекс добавится только байт кода ответа. Не надо будет зато создавать отдельную структуру. Индекс по мере ненадобности будет выгружаться из памяти (а точнее замещаться другими). Еще удобство: грузится индекс - автоматом грузится метаинформация о всех файлах сайта, в т.ч. и об отсутствующих/перемещенных. И когда браузер тупо попросит favicon.ico, никуда дополнительно лезть уже не надо. И специальных файлов на диске создаваться (как сейчас для ответов 301 и 302 с окончанием #m в расширении) не требуется.
Кстати, ответь, плиз, если знаешь: программистская работа над внедрением индексов ведется, или эта идея существует пока на уровне наших обсуждений на форуме и неочевидно, будет ли вообще реализовываться?
« Последнее редактирование: 13 марта 2007, 19:34:57 от Михаил » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #5 : 13 марта 2007, 20:22:00 »

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

Скорее последнее... В ближайших планах добавить pipelining и несколько мелких фич, пофиксить основные баги и отрелизить v1.0 в таком виде. А потом начать писать v2.0 "с чистого листа" на модульно-плагинной основе, чтобы работу по добавлению новых фич можно было распараллелить, т.к. mai62 один уже просто не справляется с потоком запросов...

Но обсуждать, тем не менее, новые опции надо, чтобы была база для будущей работы... Подмигивающий
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #6 : 20 марта 2007, 13:32:04 »

Цитировать
А в каком-то отдельном индексе специально для ответов сервера без передачи файла (301, 302, 403, 404 и т.д.).
Вообще говоря ответы 4** - с передачей файла.
А на некоторых сайтах даже контент с таким кодом передаётся (с целью недопущения его сохранения)
Сообщить модератору   Записан
Сергей
Beta tester
*****

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

Сообщений: 621



« Ответ #7 : 20 марта 2007, 15:43:04 »

А потом начать писать v2.0 "с чистого листа" на модульно-плагинной основе, чтобы работу по добавлению новых фич можно было распараллелить
А исходники открывать не планируется?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #8 : 20 марта 2007, 17:09:14 »

Вообще говоря ответы 4** - с передачей файла.
А на некоторых сайтах даже контент с таким кодом передаётся (с целью недопущения его сохранения)

Да, бывает и такое, но в большинстве случаев "404" используется по своему прямому назначению и вместе с ним передается информация типа: "Нет такой страницы", не имеющая для нас практической значимости! Следовательно, и сохранять ее не обязательно - достаточно сохранить сам факт отрицательного ответа, чтобы повторно не обращаться к серверу какое-то время!

Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?



А исходники открывать не планируется?

Спроси у mai62... Подмигивающий
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #9 : 22 марта 2007, 03:54:04 »

Цитировать
Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?
Реальные УРЛ - сейчас не припомню, но это был сайт с картинками (которые собственно и защищались)
Как - наверно как и винда - по размеру. Если больше типичного значения для пустой страницы (скажем 0.5-1-2к) - то хранить
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #10 : 09 апреля 2007, 13:34:04 »

Можешь привести реальные URL, где "404" используется для передачи "полезного" контента с целью недопущения его сохранения?
Как HC будет отличать "полезный" контент от "бесполезного"?
Вот здесь набрел на пример. Вместе с "404 Not Found" качается 114x2=228 кБ!!! данных. Полезность их оценить не могу, но судя по названию файла и тайному способу его закачки, подозреваю только вредность.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #11 : 09 апреля 2007, 14:09:31 »

Вот здесь набрел на пример. Вместе с "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 Offline

Сообщений: 5513



« Ответ #12 : 09 апреля 2007, 15:11:11 »

Что-то не вижу!  Непонимаю Из "404" только 2 "мелких" картинки: 

Точный URL твоих "404" не припомнишь?
Они ("мелкие картинки") и есть. На самом деле это html-файл размером ~114 КБ.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #13 : 09 апреля 2007, 16:08:19 »

На самом деле это 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 Offline

Сообщений: 5513



« Ответ #14 : 09 апреля 2007, 16:51:03 »

И хранить ее в кэше в разных файлах для каждого такого "404" - это бессмысленно замусоривать кэш!

В общем, это бесполезный контент, который хранить даже вредно...  Прикольно
Хранить - и так понятно. Тут качать тело неизмеримо вреднее! Придется правило в Черный список писать. Неплохо бы знать, много ли таких фокусов в сети? Ежели так, то имеет смысл увидев "404" останавливать закачку.

PS Зашел на тот же адрес через другого провайдера - результат тот же: файл 1x1.gif занимает 114 кБ.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #15 : 09 апреля 2007, 19:19:42 »

Зашел на тот же адрес через другого провайдера - результат тот же: файл 1x1.gif занимает 114 кБ.

Заходил через двух разных провайдеров - не более 3 кб на "404", если не открывать в отдельном окне! Думаю, сервер Referer парсит...
Сообщить модератору   Записан
cepera_ang
Beta tester
*****

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

Сообщений: 355


« Ответ #16 : 09 апреля 2007, 20:17:01 »

Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то. Бывает откроешь старенькую страничку, а картинки по старым ссылкам пытаются загружаться, и так штук 40 по сто кбайт...
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #17 : 09 апреля 2007, 22:40:31 »

Цитировать
Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то. Бывает откроешь старенькую страничку, а картинки по старым ссылкам пытаются загружаться, и так штук 40 по сто кбайт...
  Ну это его так настроили. Не очень умно, правильнее был бы редирект на главную, а не отдача её с 404.
Но надо отметить - браузер её отображает.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #18 : 09 апреля 2007, 23:59:01 »

Кстати на тхг вообще на любой 404 выдается полностью главная страничка зачем-то.

Опытным путем обнаружил, что главная страница thg.ru на "404" всегда грузится только в Опере, а в Макстоне (IE) такой проблемы нет!
P.S. Вот поэтому я и не люблю Оперу...  Показывает язык
Сообщить модератору   Записан
Сергей
Beta tester
*****

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

Сообщений: 621



« Ответ #19 : 11 апреля 2007, 11:06:04 »

Опера не виновата в том, что у кого-то руки не из того места растут Улыбка

Надо как-то бороться с такими глючными серверами.  Непонимаю
« Последнее редактирование: 11 апреля 2007, 11:18:13 от Сергей » Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #20 : 27 апреля 2007, 12:25:15 »

Есть обратное предложение - НЕ кешировать ответ 302.
Ибо некоторые ресурсы (например, livejournal) балуются интересной формой отдачи страничек через два редиректа с возвратом к исходному... в результате при кешировании редиректа все зацикливается.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #21 : 27 апреля 2007, 22:53:33 »

Есть обратное предложение - НЕ кешировать ответ 302.
Ибо некоторые ресурсы (например, livejournal) балуются интересной формой отдачи страничек через два редиректа с возвратом к исходному... в результате при кешировании редиректа все зацикливается.
Мы можем эти некоторые ресурсы загнать в исключения/Белый список. Думаю, это редкое явление.
Сообщить модератору   Записан
Дем
Постоялец
***

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

Сообщений: 167



« Ответ #22 : 28 апреля 2007, 12:24:47 »

Имелось наверно ввиду, чтобы если по урлу приходит нормальный ответ - кешировать, а если по нему же 302 - то нет.
Может быть решено прогонкой через регексп входящего заголовка...
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #23 : 28 апреля 2007, 13:08:50 »

2 Михаил
Мы можем эти некоторые ресурсы загнать в исключения/Белый список
В том-то и дело, что не можем! Ибо на ВТОРОЙ запрос (с тем же URL, но другими куками) отдается текстовая страничка, которую НАДО закешировать.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #24 : 28 апреля 2007, 13:29:49 »

В том-то и дело, что не можем! Ибо на ВТОРОЙ запрос (с тем же URL, но другими куками) отдается текстовая страничка, которую НАДО закешировать.

Циклится из-за списка "Не обновлять"? Какие правила срабатывают при зацикливании?
Сообщить модератору   Записан
Nike
Новичок
*

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

Сообщений: 19


« Ответ #25 : 03 мая 2007, 17:02:00 »

никакого правила не срабатывает. Отчётливо видно это, если например зайти во френдленту сразу, без захода в свой жж. Срабатывает правило записи в кеш на ответ 302 и дальше 6 раз крутится на одном месте вотзвращая из кеша ответ 302 found без индикации правила. После чего просто останавливается. Если попробовать ещё раз не закрывая броузера - всё получается. Броузер - опера 9.2
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #26 : 03 мая 2007, 20:40:08 »

Срабатывает правило записи в кеш на ответ 302 и дальше 6 раз крутится на одном месте вотзвращая из кеша ответ 302 found без индикации правила.

Приложи лог HC с отладочной информацией.
Сообщить модератору   Записан
Nike
Новичок
*

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

Сообщений: 19


« Ответ #27 : 03 мая 2007, 22:13:21 »

Вот лог. Правило З.1 если что - .*

* log.zip (5.01 Кб - загружено 22 раз.)
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #28 : 04 мая 2007, 01:08:10 »

Вот лог. Правило З.1 если что - .*

М-да, есть цикл. При запросе http://users.livejournal.com/_n1ke_/friends HC вставляет в запрос заголовок "If-Modified-Since", в ответ на который сервер сайта велит брать файл из кэша!

Что можно сделать:
- Либо запретить кэшировать URL вида: users.livejournal.com/*/friends
- Либо в настройках HC "Общие / Управление загрузкой" отключить опцию "Добавить If-Modified-Since при наличии файла в кэше"



mai62

Видимо, не стоит HC в "If-Modified-Since" вставлять дату файла #m !
Он же не содержит тело самого файла, а только заголовки с переадресацией!
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #29 : 04 мая 2007, 08:10:50 »

2 DenZZZ
Цитировать
- Либо запретить кэшировать URL вида: users.livejournal.com/*/friends
Текстовую страничку крайне желательно иметь в кеше. Хотя бы для автонома.
Цитировать
Либо в настройках HC "Общие / Управление загрузкой" отключить опцию "Добавить If-Modified-Since при наличии файла в кэше"
А это больше напоминает лечение перхоти гильотиной.
В следующей версии хорошо бы ответ 302 по умолчанию не кешировать вообще, ибо временное перемещение на то и временное, чтобы меняться сколь угодно часто.
Цитировать
Видимо, не стоит HC в "If-Modified-Since" вставлять дату файла #m !
И какой тогда будет эффект от кеширования редиректов?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #30 : 04 мая 2007, 09:04:13 »

В следующей версии хорошо бы ответ 302 по умолчанию не кешировать вообще, ибо временное перемещение на то и временное, чтобы меняться сколь угодно часто.
Цитировать
Видимо, не стоит HC в "If-Modified-Since" вставлять дату файла #m !
И какой тогда будет эффект от кеширования редиректов?

Без кэширования редиректов HC не сможет найти в кэше в автономном режиме некоторые страницы (файлы), т.к. информации о их новом местоположении он не сохранил!

Кэширование редиректов в HC появилось не сразу, а потому что об этом многие просили на ру-борде!
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #31 : 04 мая 2007, 09:24:25 »

2 DenZZZ
Цитировать
Без кэширования редиректов HC не сможет найти в кэше в автономном режиме некоторые страницы (файлы), т.к. информации о их новом местоположении он не сохранил!
Да, этого я не учел. В таком случае кешированные редиректы есть смысл использовать ТОЛЬКО в автономном режиме - а в обычном игнорировать их наличие в кеше. Разумеется, речь только о временных редиректах (302). Постоянные (301) кешировать можно и нужно.

   
Сообщить модератору   Записан
v0lt
Beta tester
*****

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

Сообщений: 127


« Ответ #32 : 08 мая 2007, 18:05:44 »

DenZzz
еще можно всегда обновлять редиректы (весят они мало)
+ из кеша брать более свежий файл (если имеются одновременно редирект и данные)
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #33 : 20 мая 2007, 23:37:10 »

На ру-борде привели пример, когда сервер отдает запрашиваемую страницу с кодом ответа "404": http://www.3dnews.ru/video/gigabyte_8800gts_silent_pipe_3/
http://www.3dnews.ru/video
и другие по видеокартам...

Не понятно, баг ли это веб-мастера сайта или его хитрая задумка...
Но факт остается фактом - у "404" может быть как полезный, так и бесполезный контент!
"Полезный" (как на 3dnews.ru) надо кэшировать целиком, а для "бесполезного" (как на thg.ru) прерывать закачку и сохранять только сам факт отрицательного ответа.

Отличить их HC сам не сможет, поэтому хорошо бы список полезных/бесполезных "404" сайтов сделать настраиваемым с поддержкой RegExp (как в серверах-посредниках)...
« Последнее редактирование: 20 мая 2007, 23:43:33 от DenZzz » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #34 : 29 ноября 2007, 13:28:50 »

Зря забыли эту тему! Еще один пример:

Цитировать
29.11.07 14:09:45,080 # 88 <<< URL: http://savepic.ru/72049.jpg
HTTP/1.1 404 Not Found
Server: nginx/0.5.32
Date: Thu, 29 Nov 2007 10:12:59 GMT
Content-Type: image/jpeg
Connection: keep-alive
X-Powered-By: PHP/5.2.0
Content-Length: 47786

По статистике загрузок http://savepic.ru/ можно сделать вывод, что сервис довольно популярен! Но из-за того, что HC не умеет кэшировать 404 приходится грузить эти картинки вновь и вновь при каждом обновлении страницы!
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #35 : 29 ноября 2007, 14:48:11 »

Мое вИдение настройки и логики работы опции привел в связанной теме: "Разрыв соединения после получения заголовков ответов 301, 302, 403, 404 и т.п.".

Добавлю, что если URL попал в раздел "Кэшировать", то пишем в файл его тело. Если тела нет, то файл нулевой длины. Выдаем из кэша в обычном порядке, т.е. с ответом 200.

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

301 и 302 сохраняем как сейчас - только заголовки в файл #m.
« Последнее редактирование: 29 ноября 2007, 14:56:28 от DenZzz » Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #36 : 30 ноября 2007, 00:35:41 »

Хочу добавить, что на некоторых серверах только в виде ответов "430 Forbidden" и можно получить полезное содержимое! Пример - по этой ссылке можно просмотреть первую страницу статьи (и она находится Google'ом!), но приходит страница в виде "430 Forbidden".
Такие страницы не кэшируются. Однако в данном конкретном случае это следовало бы делать!
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #37 : 30 ноября 2007, 12:21:29 »

Хочу добавить, что на некоторых серверах только в виде ответов "430 Forbidden" и можно получить полезное содержимое!

Только не 430, а 403 - про него уже упоминалось в этой теме и смежной.

Спасибо за еще один живой пример! А то mai62 сомневается в актуальности этой темы...
Сообщить модератору   Записан
popkov
Beta tester
*****

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

Сообщений: 349


« Ответ #38 : 30 ноября 2007, 20:05:33 »

Спасибо за еще один живой пример! А то mai62 сомневается в актуальности этой темы...
Похоже, что следует исходить из принципа: всё, что не запрещено - разрешено! К сожалению, некторые сайты (как раз те, которые и следовало бы кэшировать, т.к. их внутренняя статистика посещений преследует цель отнюдь не облегчить жизнь человеку - а скорее при избыточном интересе к статье с данного IP перекрыть к ней доступ вообще!) готовы использовать этот принцип на все 100! Этот пример наглядно демонстрирует, насколько важно кэширование нестандантных ответов тапа 403, якобы Forbidden (а на самом деле вовсе не Forbidden, а реальная ценная информация!).
Сообщить модератору   Записан
Страниц: 1 2 [Все]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: