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

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

Сообщений: 5513



« Ответ #20 : 09 августа 2008, 14:35:01 »

Что делать, ограничивается лишь фантазией.
Примеры:
- после успешной скачки сообщить об этом кому-либо (визуально, звуком, e-mail'ом и т.п.), передать скачанный файл куда-либо;
- значимые события (заблокировано/нет, взято из кэша/нет/сколько и др.) на лету фиксировать независимым обработчиком статистики, способным представлять информацию в любых разрезах;
- выяснив, что для файла запрещена запись в кэш, удалить его из кэша, если он там есть (своего рода автоматический сбор мусора);
- если файл не попадает под Ч, Т, Н и нет соединения, то выдать файл из кэша автоматически либо спрося пользователя...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #21 : 09 августа 2008, 17:30:58 »

Еще есть одно значительное неудобство. К примеру, зажимаю горячую клавишу отключения списка Ч, а на блокирующие скрипты это не распространяется. Чтоб быть уверенным, что ничего не заблокируется, приходится вручную отключать все скрипты, в том числе которые и не хотелось бы отключать. Лезть же в файл и кратковременно выключить какой-то отдельный скрипт, чтоб через пару секунд его включать, видится вообще кошмаром. То же самое касается других списков.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #22 : 09 августа 2008, 18:38:11 »

- после успешной скачки сообщить об этом кому-либо (визуально, звуком, e-mail'ом и т.п.), передать скачанный файл куда-либо;

Это функции даунлодера. Не уверен, что это нужно для прокси.

Цитировать
- значимые события (заблокировано/нет, взято из кэша/нет/сколько и др.) на лету фиксировать независимым обработчиком статистики, способным представлять информацию в любых разрезах;

Помню была такая тема: "Интерфейс передачи активности монитора", но что-то быстро ее инициатор потерял интерес к воплощению этой идеи.

Цитировать
- выяснив, что для файла запрещена запись в кэш, удалить его из кэша, если он там есть (своего рода автоматический сбор мусора);
- если файл не попадает под Ч, Т, Н и нет соединения, то выдать файл из кэша автоматически либо спрося пользователя...

Это можно реализовать и из скриптов Ответов, только понадобятся соответствующие расширения функциональности.

Добавлено: 09 Августа 2008, 19:31:30

Чтоб быть уверенным, что ничего не заблокируется, приходится вручную отключать все скрипты

Я на Серверы-посредники горячую клавишу повесил, но дифференцированно отключать скрипты так не получится - только все сразу.

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

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

Сообщений: 5513



« Ответ #23 : 13 августа 2008, 22:50:07 »

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

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

Сообщений: 6383


« Ответ #24 : 13 августа 2008, 23:32:14 »

Пока не включаюсь в обсуждение этой проблемы, хочу сосредоточиться на ftp.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #25 : 14 августа 2008, 00:03:02 »

Позволит регулировать вопросы серверов-посредников, внешних прокси

Какие конкретно?

Цитировать
создавать собственные варианты ответов 403 и 404 вместо жестко забитых в НС

Для этого есть "Показывать файл" в списках Ч и Т. На скрипты они тоже распространяются.

Цитировать
ответов при взятии из кэша и срабатывании переадресации.

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

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

Сообщений: 5513



« Ответ #26 : 14 августа 2008, 08:54:21 »

Цитировать
Какие конкретно?
Перекрывать/отменять действие списка "Серверы-посредники". Переключать серверы-посредники и внешние прокси в зависимости от иных условий, нежели совпадение URL (пользователь, время суток и др.);
Цитировать
Для этого есть "Показывать файл" в списках Ч и Т. На скрипты они тоже распространяются.
- хочется, к примеру, для ответа 403 выдавать ответ типа нынешнего, но на великом и могучем;
- для разных пользователей/сайтов могут быть разные объяснения, почему они блокированы;
- может не хотеться использовать коды 430 и 431. К примеру, если ниже НС стоит Сквид, то это приводит к заполонению лога Сквида предупреждениями о нестандартном коде ответа. На этом фоне выделить действительно полезную информацию в логе тяжело.
В подобных ситуациях "Показывать файл" бессилен.
Цитировать
Ответы стандартные. Зачем их менять?
Например, добавить распознавание по сигнатурам тех типов файлов, которые сейчас НС не распознает. Или перед переадресацией в определенных случаях делать паузу с выводом пояснения/подтверждения. Или добавить заголовок: Age, Date, Expires, Via, Vary, Warning для информирования клиента. Или скрыть, что ответ дает HandyCache...
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #27 : 14 августа 2008, 14:43:47 »

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

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

Сообщений: 5513



« Ответ #28 : 14 августа 2008, 16:16:26 »

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

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

Сообщений: 5589



« Ответ #29 : 14 августа 2008, 20:17:05 »

Как это эффективно сделать сейчас по каждому из пунктов?

Что подразумевается под понятием "эффективно"?

- хочется, к примеру, для ответа 403 выдавать ответ типа нынешнего, но на великом и могучем;
- для разных пользователей/сайтов могут быть разные объяснения, почему они блокированы;
- может не хотеться использовать коды 430 и 431.
- перед переадресацией в определенных случаях делать паузу с выводом пояснения/подтверждения.
- добавить заголовок: Age, Date, Expires, Via, Vary, Warning для информирования клиента.
- скрыть, что ответ дает HandyCache...

Все это можно сделать R-скриптом уже сейчас, но придется перенести нужные правила из Ч и П в LuaR.lst .

- Перекрывать/отменять действие списка "Серверы-посредники".
- Переключать серверы-посредники и внешние прокси в зависимости от иных условий, нежели совпадение URL (пользователь, время суток и др.);
- добавить распознавание по сигнатурам тех типов файлов, которые сейчас НС не распознает.

Это можно в будущем добавить в функциональность R-скриптов при желании...
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #30 : 14 августа 2008, 20:51:06 »

Цитировать
Что подразумевается под понятием "эффективно"?
Под эффективностью имею в виду недопущение выполнения лишних действий. К примеру, что бы мы ни хотели сделать с серверами-посредниками или внешними прокси, делать это нужно лишь после того как принято решение о скачке из интернета. Или дополнительное распознавание по сигнатурам должно включаться только после принятия решения о взятии из кэша.
Цитировать
Все это можно сделать R-скриптом уже сейчас, но придется перенести нужные правила из Ч и П в LuaR.lst .
Не получится. Все списки Ч, П, А переносить в скрипты не будем.
Цитировать
- добавить заголовок: Age, Date, Expires, Via, Vary, Warning для информирования клиента.
- скрыть, что ответ дает HandyCache...
А здесь для изменения заголовка ответа при взятии файла из кэша мы бессильны что-либо сделать R-скриптом.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #31 : 14 августа 2008, 22:19:27 »

Цитировать
- добавить заголовок: Age, Date, Expires, Via, Vary, Warning для информирования клиента.
- скрыть, что ответ дает HandyCache...
А здесь для изменения заголовка ответа при взятии файла из кэша мы бессильны что-либо сделать R-скриптом.

Наоборот, всесильны! Можем в hc_answer_header написать любые свои заголовки, а в hc_answer_body написать путь к файлу в кэше (hc_answer_body="file=URLToCache(hc_url)") - клиент получит файл из кэша с любыми нашими заголовками!
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #32 : 15 августа 2008, 00:48:23 »

Цитировать
Наоборот, всесильны
К сожалению, это не так. В большинстве ситуаций при взятии файла из кэша мне не надо полностью с нуля формировать весь заголовок ответа, мучительно продумывая и создавая в нем все необходимые поля. Пусть это делает НС. Нужно лишь добавить или убрать что-то одно оттуда. Например, убрать Server: HandyCache в ответе 200 From cache (HC) или добавить Expires в ответ 304 Not Modified (HC) и т.п. Я уж не говорю о случаях типа когда ответ в кэше запакован, а клиент не понимает gzip. И совсем плохо, что в попытке сделать как ты пишешь, списки Т и Н тоже придется полностью перемещать в скрипты, что не может даже рассматриваться.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #33 : 26 сентября 2008, 00:34:02 »

DenZzz
Можно тему перименовать в "Предложения по работе скриптов", новую неохота создавать.

1. В дополнение к предыдущему обсуждению (сделать несколько точек входа для скриптов). Хорошим применением скриптов стало бы кэширование GoogleEarth. Там надо обрабатывать файл (резать/клеить) скриптом после его записи в кэш.
2. Хочется распознавания типа контента и при отсутствии файла в кэше. Т.е. чтоб переменная hc_cache_file_content_type могла формироваться и в этом случае на основе URL. Сейчас она не определена.
3. Хочется знать, сжат файл в кэше или нет (Content-Encoding).
4. Если ответ формируется с помощью hc_answer_body, хочется видеть в мониторе привычное оформление (цвет строки и значки в зависимости от кода ответа).
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

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

Сообщений: 5513



« Ответ #34 : 26 сентября 2008, 08:13:55 »

5. Можно сделать, чтобы каждый раз не описывать функцию main (так сказать, в порядке уменьшения лишних телодвижений для пользователя). Если она жизненно нужна для НС, НС вполне может сам автоматически обрамлять скрипт
function main()
...
end
Преимуществом будет и то, что все описанные пользователем функции будут локальными и потенциально не смогут мешать одноименным функциям остальных скриптов.
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #35 : 26 сентября 2008, 10:36:32 »

2. Хочется распознавания типа контента и при отсутствии файла в кэше. Т.е. чтоб переменная hc_cache_file_content_type могла формироваться и в этом случае на основе URL. Сейчас она не определена.

Если нужно, это можно сделать и из самого скрипта. Кроме того, есть списки, которые как раз работают по URL и выполняют основные действия.

Цитировать
3. Хочется знать, сжат файл в кэше или нет (Content-Encoding).

Цель?

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

Чем они могут мешать? Одинаковыми переменными?
Все переменные в Lua являются глобальным, если они явно не объявлены как локальные. Поэтому неважно, где выполняется функция. Если используются одинаковые глобальные переменные, то они станут доступны всем скриптам.
В этом есть и свое преимущество: когда выполняется много однотипных скриптов, то объявление функций и присвоение переменных рационально вынести в один первый скрипт.
Сообщить модератору   Записан
4water
Гость
« Ответ #36 : 27 сентября 2008, 23:35:05 »

пытаюсь осваивать скррипты
непойму если hc_answer_header задать значение а hc_answer_body нет- будет мой заголовок и "родное" тело?
и если сделать наоборот- будет мое тело при родлном заголовке?
хелп сделан так что не дает этот ответ
расскажите пжалста
и пжалста еще- зачем задумано присваивать hc_header_replace почему просто не изменить hc_header?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #37 : 28 сентября 2008, 00:09:41 »

непойму если hc_answer_header задать значение а hc_answer_body нет- будет мой заголовок и "родное" тело?

Что такое "родное тело" и откуда оно возьмется, если ты сам формируешь ответ скриптом?!
Будет только твой заголовок без тела.

Цитировать
и если сделать наоборот- будет мое тело при родлном заголовке?

Не будет. Твое тело без заголовка будет просто игнорироваться.

Цитировать
хелп сделан так что не дает этот ответ

Дает. Читай внимательно!

Цитировать
и пжалста еще- зачем задумано присваивать hc_header_replace почему просто не изменить hc_header?

Чтобы на выходе HC точно знал, изменил ли скрипт заголовок, а не тратил время и ресурсы системы на сравнение заголовков.
« Последнее редактирование: 28 сентября 2008, 00:17:50 от DenZzz » Сообщить модератору   Записан
4water
Гость
« Ответ #38 : 28 сентября 2008, 00:32:03 »

Цитировать
Дает. Читай внимательно!
не вижу
пользуюсь HC_Lua_scripts.html
других более подробных справок не нашел дайте ссылок
Цитировать
Чтобы на выходе HC точно знал, изменил ли скрипт заголовок, а не тратил время и ресурсы системы на сравнение заголовков.
сравнение с начальным заголовком?
почему бы ничего не сравнивая посылать hc_header- измененный или нет неважно
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #39 : 28 сентября 2008, 00:46:34 »

не вижу
пользуюсь HC_Lua_scripts.html

Там и написано - в описании переменных hc_answer_body, hc_answer_header.

Цитировать
почему бы ничего не сравнивая посылать hc_header- измененный или нет неважно

Важно, когда будешь ловить глюки и гадать, что так испортило заголовки - скрипт или сам клиент (браузер). Сейчас информация об изменении заголовка выводится в Монитор HC, а при твоем подходе мы об этом никогда не узнаем без сниффера! А в чем вообще проблема? Так трудно присвоить значение "true" переменной hc_header_replace?
Сообщить модератору   Записан
Страниц: 1 [2] 3 4  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: