Welcome! Log In Create A New Profile

Advanced

Re: Есть Аналог комбинированных RewriteCond Апача?

February 18, 2010 05:12AM
[i]Прочитал вот здесь

http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#internals

Директивы модуля ngx_http_rewrite_module компилируется на стадии конфигурирования во внутренние коды, исполняемые во время запроса интерпретатором. Интерпретатор представляет из себя простую стековую виртуальную машину.

В молодости (лет 20 назад) был программистом и занимался обработкой статистической информации. Обрабатывались документы анкетного типа и по ним считались отчеты. Техника тогда у нас была СМ ЭВМ, на которых были в то время только два языка программирования: МакроАссемблер и ФОРТРАН IV. Выбор небольшой и я писал на ФОРТРАНЕ.
Выражения такого например вида
((p1='20'&p3<'400')&p5>'100')!(p104='23'!p104='30') (Где & - AND, ! - OR)
преобразовывались в обратную польскую запись в байт коде и интерпретировались затем при обработке.
То есть, если я правильно понял, делалось примерно то же самое, что делает ngx_http_rewrite_module.
И насколько я понимаю, тут главная трудность не в том, чтобы добавить обработчик операции AND (логическое И) в стековую виртуальную машину, а в том, чтобы добавить разбор логических операций и скобок в компилятор, который генерирует байт код. Но на мой взгляд и это не должно быть сильно трудным, зато сильно увеличит возможности модуля. Что касается быстродействия самой стековой машины, то скорость исполнения такого байт кода (где появится еще один оператор) должна будет увеличиться на скорость исполнения еще одного условного оператора, сравнивающего два целых числа. Не думаю, что это замедлит работу интерпретатора на более чем 0.0001%.
К сожалению, сейчас я уже давно работаю сисадмином и вряд ли смог бы быстро разобраться в чужих исходниках. Может быть все же найдется желающий добавить полезные возможности в nginx? :)[/i]
Subject Author Posted

Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 16, 2010 08:37AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Ilya Pirogov February 16, 2010 10:26AM

Re: Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 18, 2010 04:37AM

Re: Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 18, 2010 05:12AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Igor Sysoev February 16, 2010 10:32AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Kruglov Eugenie February 17, 2010 01:44AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Igor Sysoev February 17, 2010 03:42AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Peter Leonov February 17, 2010 04:26AM

Re: Есть Аналог комбинированных RewriteCond Апача?

Igor Sysoev February 17, 2010 04:36AM

Re: Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 18, 2010 05:38AM

Re[2]: Есть Аналог комбинированных RewriteCond Апача?

Михаил Монашёв February 17, 2010 04:30AM

Re: Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 18, 2010 05:24AM

Re: Есть Аналог комбинированных RewriteCond Апача?

anyhow2 February 25, 2010 04:51AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 285
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready