Re[3]: C++ server pages, однако
От: Евгений Коробко  
Дата: 22.11.04 13:21
Оценка:
hrg>2.1 Встраиваемые модули для apache (mod_perl, mod_php, mod_asp). Быстро и
hrg>безопасно.

Не, это вариант 3, просто парсеры языков подключаются динамически. Кстати, бесопасны не сами модули, а языки, ими поддерживаемые. Если будет косяк в самом модуле, апач рухнет вместе с ним. И на этих модулях бизнес-логика не реализуется.
Евгений Коробко
Re[3]: C++ server pages, однако
От: Евгений Коробко  
Дата: 22.11.04 13:22
Оценка: +3
ГВ>От кривизны рук всегда защититься сложно. Что поделаешь... Значит, просто требования к квалификации разработчиков должны быть выше.

Ага, с таким же успехом можно допустить, чтобы ОС падала при AV в программе и разводит руками: нужно программы грамотно писать.
Евгений Коробко
Re[3]: C++ server pages, однако
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 13:29
Оценка:
Здравствуйте, hrg, Вы писали:

hrg>2.1 Встраиваемые модули для apache (mod_perl, mod_php, mod_asp). Быстро и

hrg>безопасно.

В смысле? Если сам модуль, то он ничуть не безопаснее dll, если perl, phph, asp, то это п.3.
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[2]: C++ server pages, однако
От: buriy Россия http://www.buriy.com/
Дата: 22.11.04 13:34
Оценка: :)
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Вспомним историю развития средств:

ЕК>1. CGI Хорошо, но медленно: для каждого клиента запускается отдельный процесс.

Старый офицер рассказывает курсантам:
-...Пуля, выпущенная из этого оружия, летит со скоростью 600 м/с
-Но это же медленно!
-Знаешь, я не видел, чтобы кто-нибудь бегал быстрее.


Вот другая реальность:
1. Свой веб-сервер, когда нужна действительно большая скорость.
2. Чужой веб-сервер и CGI-скрипты, dll-ки, когда скорость не нужна.
/bur
Re[4]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 13:35
Оценка:
Евгений Коробко -> "Re[3]: C++ server pages, однако"

hrg>>2.1 Встраиваемые модули для apache (mod_perl, mod_php, mod_asp).

hrg>>Быстро и
hrg>>безопасно.

ЕК> Не, это вариант 3, просто парсеры языков подключаются динамически.


Странная квалификация. То сначала квалифицируется по способу обработки (CGI,
DLL), то по языкам.

mod_чегототам — это полноценная библиотека *.so. В которой, в том числе
может находится и парсер конкретного языка.

ЕК> Кстати, бесопасны не сами модули, а языки, ими поддерживаемые. Если

ЕК> будет косяк в самом модуле, апач рухнет вместе с ним.

Рухнет поток. И все. Остальные будут работать как дальше. Апач просто
стартанет еще один поток. А то давно был полинтернета периодически лежало
из-за неохватного радиуса кривизны верхних хватательных конечностей
отдельных индивидов

ЕК> И на этих

ЕК> модулях бизнес-логика не реализуется.

а что же на них тогда реализуется ?

Yury Kopyl aka hrg | Гордость мешает доходам!
Posted via RSDN NNTP Server 1.9 gamma
Re[4]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 13:46
Оценка:
AndrewVK -> "Re[3]: C++ server pages, однако"

A> Здравствуйте, hrg, Вы писали:


hrg>>2.1 Встраиваемые модули для apache (mod_perl, mod_php, mod_asp).

hrg>>Быстро и
hrg>>безопасно.

A> В смысле? Если сам модуль, то он ничуть не безопаснее dll, если perl,

A> phph, asp, то это п.3.

Модули для апача используют его интерфейс.
API Acpahe. Работаю
как хандлеры событий, которые вызывает апач. Модули могут быть написаны на
чем угодно, начиная от С, заканчивая хз чем.

Теперь к скриптовым языкам. Вызов интерпретатора скриптого языка возможет
как через механизм CGI (запускается отдельный процесс с интерпретатором) а
также его разновидноестей, FastCGI. HeavyCGI; так через обработчика хандеров
(нативный хандлер на С, mod_perl и и.д.) Причем во втором случае мы получаем
контроль практически на любом этапе обработки запроса.

[url=http://www.amazon.com/exec/obidos/tg/detail/-/156592567X/qid=1101130929
/sr=8-1/ref=pd_ka_1/104-1545509-7518306?v=glance&s=books&n=507846]Базовая
книга по написанию модулей[/url]

Yury Kopyl aka hrg | Гордость мешает доходам!
Posted via RSDN NNTP Server 1.9 gamma
Re[5]: C++ server pages, однако
От: Евгений Коробко  
Дата: 22.11.04 13:48
Оценка:
hrg>Странная квалификация. То сначала квалифицируется по способу обработки (CGI,
hrg>DLL), то по языкам.

Квалифицируется по способу реализации бизнес-логики. Создание mod_... к бизнес-логике отношения не имеет.

hrg>Рухнет поток. И все. Остальные будут работать как дальше. Апач просто

hrg>стартанет еще один поток.

Апач не на яве написан. Если модуль запашет память (которая общая для всех модулей и самого апача), то рухнет всё

hrg> а что же на них тогда реализуется ?


Расширения веб-сервера
Евгений Коробко
Re[5]: C++ server pages, однако
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 13:50
Оценка: +1
Здравствуйте, hrg, Вы писали:

hrg>Рухнет поток. И все. Остальные будут работать как дальше.


А что, потоки у нас уже изолированы от общей памяти приложения?
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[8]: C++ server pages, однако
От: vdimas Россия  
Дата: 22.11.04 13:54
Оценка:
Здравствуйте, AndrewVK, Вы писали:

V>>насколько мне казалось, скриптовые языки отличаются своей интерпретируемостью.

[...]

AVK>Разницу между often и always ощущаешь?


Разницу м/у казалось и утверждаю ощущаешь?

-----
за вырезку и ссылку +1
Re[2]: C++ server pages, однако
От: vdimas Россия  
Дата: 22.11.04 14:04
Оценка: +1
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Использование С++ в виде dll порождает проблему 2 — падение модуля приводит к падению сервера


да ну?

вызов ф-ий DLL производится из некоей ф-ии обработчика запроса.
типа так:

void ProccessRequest(Request& rq, Response& rs) {
    try {
// тут что-то происходит со страницами
    } catch(...) {
         Responce << UNDEFINED_APPLICATION_ERROR_HTML_TEXT;
    }
}



Другое дело, что запуск в одном адресном пространствеможет что-то похерить в важных данных самого сервера...
но дык, это расплата за эффективность и прочие бенефиты.

Хотя, при желании можно прилично побороться и с такой проблемой. Например, выделить прикладным модулям свой heap в виртуальном адресном пространстве, которое с обоих сторон окружено "дырами" в виртуальной памяти. Тогда наиболее частые причины падения, типа переполнения стека и выход за границы массива будут что-то портить или в самом прикладном модуле, или натыкаться на несуществующую память и просто генерить эксепшн.
Re[6]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 14:13
Оценка:
Евгений Коробко -> "Re[5]: C++ server pages, однако"

hrg>>Странная квалификация. То сначала квалифицируется по способу

hrg>>обработки (CGI,
hrg>>DLL), то по языкам.

ЕК> Квалифицируется по способу реализации бизнес-логики. Создание

ЕК> mod_... к бизнес-логике отношения не имеет.

(задумчиво) дай, тогда пожалуйста тове видение реализации бизнес логики по
отношению к веб-серверу.

hrg>>Рухнет поток. И все. Остальные будут работать как дальше. Апач

hrg>>просто
hrg>>стартанет еще один поток.

:) Апач не на яве написан. Если модуль запашет память (которая общая для
::всех модулей и самого апача), то рухнет всё

http://httpd.apache.org/docs/misc/API.html#pools

hrg>> а что же на них тогда реализуется ?


ЕК> Расширения веб-сервера


И какого сервера и какими расширениями, позвольте спросить?

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[6]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 14:13
Оценка:
AndrewVK -> "Re[5]: C++ server pages, однако"

hrg>>Рухнет поток. И все. Остальные будут работать как дальше.


A> А что, потоки у нас уже изолированы от общей памяти приложения?


http://httpd.apache.org/docs/misc/API.html#pools

Если писать хандлеры на mod_perl, то можно вообще забыть про эти проблемы

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[7]: C++ server pages, однако
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 14:37
Оценка:
Здравствуйте, hrg, Вы писали:

A>> А что, потоки у нас уже изолированы от общей памяти приложения?


hrg>http://httpd.apache.org/docs/misc/API.html#pools


hrg>Если писать хандлеры на mod_perl, то можно вообще забыть про эти проблемы


Это и будет п.3.
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[5]: C++ server pages, однако
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 14:37
Оценка:
Здравствуйте, hrg, Вы писали:

A>> В смысле? Если сам модуль, то он ничуть не безопаснее dll, если perl,

A>> phph, asp, то это п.3.

hrg>Модули для апача используют его интерфейс.

hrg>API Acpahe. Работаю
hrg>как хандлеры событий, которые вызывает апач. Модули могут быть написаны на
hrg>чем угодно, начиная от С, заканчивая хз чем.

"Если сам модуль, то он ничуть не безопаснее dll" (С) я

hrg>Теперь к скриптовым языкам. Вызов интерпретатора скриптого языка возможет

hrg>как через механизм CGI (запускается отдельный процесс с интерпретатором) а
hrg>также его разновидноестей, FastCGI. HeavyCGI; так через обработчика хандеров
hrg>(нативный хандлер на С, mod_perl и и.д.) Причем во втором случае мы получаем
hrg>контроль практически на любом этапе обработки запроса.

"если perl, php, asp, то это п.3." (С) я
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[8]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 15:04
Оценка:
AndrewVK -> "Re[7]: C++ server pages, однако"

A> Здравствуйте, hrg, Вы писали:


A>>> А что, потоки у нас уже изолированы от общей памяти приложения?


hrg>>http://httpd.apache.org/docs/misc/API.html#pools


hrg>>Если писать хандлеры на mod_perl, то можно вообще забыть про эти

hrg>>проблемы

A> Это и будет п.3.


Это будет пункт 2 и 3, потому что будет возможнось управлять всем процессом
обработки запроса, тогда так п. 3 дает только возхможность обрабатывать
стадию отдачи контента

Yury Kopyl aka hrg | Только взял боец гитару, сразу — видно гармонист
Posted via RSDN NNTP Server 1.9 gamma
Re[6]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 15:11
Оценка:
AndrewVK -> "Re[5]: C++ server pages, однако"

A> "если perl, php, asp, то это п.3." (С) я


здесь ответил
Автор: hrg
Дата: 22.11.04


Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[9]: C++ server pages, однако
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 15:32
Оценка:
Здравствуйте, hrg, Вы писали:

A>> Это и будет п.3.


hrg>Это будет пункт 2 и 3, потому что будет возможнось управлять всем процессом


Не будет. Потому что механика модулей апача и механика скриптов конкретный модуле это две разные вещи. Никакой принцципиальной разницы между apache+mod_asp и iis+asp isapi нет.
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[10]: C++ server pages, однако
От: hrg Россия  
Дата: 22.11.04 15:45
Оценка:
AndrewVK -> "Re[9]: C++ server pages, однако"

A> Здравствуйте, hrg, Вы писали:


A>>> Это и будет п.3.


hrg>>Это будет пункт 2 и 3, потому что будет возможнось управлять всем

hrg>>процессом

A> Не будет. Потому что механика модулей апача и механика скриптов

A> конкретный модуле это две разные вещи. Никакой принцципиальной
A> разницы между apache+mod_asp и iis+asp isapi нет.

будет. Как ты на asp напишешь обработку фазы аутентификации? Поэтому я
говорю — что это смесь типов 2 и 3.

Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[4]: C++ server pages, однако
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 22.11.04 18:41
Оценка:
Здравствуйте, Евгений Коробко, Вы писали:

ГВ>>От кривизны рук всегда защититься сложно. Что поделаешь... Значит, просто требования к квалификации разработчиков должны быть выше.

ЕК>Ага, с таким же успехом можно допустить, чтобы ОС падала при AV в программе и разводит руками: нужно программы грамотно писать.
А что? Их писать грамотно не нужно?
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: C++ server pages, однако
От: Spidola Россия http://www.usametrics.ru
Дата: 22.11.04 19:21
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

Думается, что основная причина — это отсутствие необходимости.

А нужно ли? ИМХО подавляющее большинство задач на Web решается существующими средствами и притягивать C++ просто нет необходимости, за исключением специфических задач.
... << RSDN@Home 1.1.4 @@subversion >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.