OberonCore
https://forum.oberoncore.ru/

CGI и т.п.
https://forum.oberoncore.ru/viewtopic.php?f=27&t=3621
Страница 1 из 2

Автор:  Евгений Темиргалеев [ Пятница, 21 Октябрь, 2011 09:44 ]
Заголовок сообщения:  CGI и т.п.

Отделено: viewtopic.php?p=66568#p66568

Madzi писал(а):
Причём CGI считается одним из основных источников потенциальной угрозы, поэтому от него отказываются.
Мне кажется, что потенциальная угроза заключается не в CGI, а в языке на котором пишут. Грубо говоря, если 99% CGI написаны на Си, то приведённое высказывание имеет место. Но это не наш случай.

Автор:  Ярослав Романченко [ Пятница, 21 Октябрь, 2011 10:11 ]
Заголовок сообщения:  Re: Что с oo2c?

CGI это всего лишь Common Gateway Interface, т.е. интерфейс.
Источник проблем именно в низкой надёжности скриптов работающих через CGI.
Данный форум тоже использует CGI, а написан на PHP. Если написать движок форума на Обероне уже этот факт сам по-себе поднимет надёжность на порядок.

Автор:  Илья Ермаков [ Пятница, 21 Октябрь, 2011 10:13 ]
Заголовок сообщения:  Re: Что с oo2c?

CGI, в полном смысле, подразумевает ещё конкретный режим вызова динамического обработчика - запуск приложения, передачу входных параметров через переменные окружения ОС и забор выхода со stdout.
Это очень медленно.

PHP работает в режиме модуля к Апачу.

Либо есть ещё FastCGI - когда HTTP-сервер устанавливает сетевое соединение к обработчику.

Автор:  Ярослав Романченко [ Пятница, 21 Октябрь, 2011 10:48 ]
Заголовок сообщения:  Re: Что с oo2c?

А оно в любом случае очень медленно, что спереди, что сбоку.
Для этого и придумали Ajax.

Автор:  Madzi [ Пятница, 21 Октябрь, 2011 11:13 ]
Заголовок сообщения:  Re: Что с oo2c?

Ярослав Романченко писал(а):
А оно в любом случае очень медленно, что спереди, что сбоку.
Для этого и придумали Ajax.

Ajax - не совсем для этого. Например, имея мы быстрый канал, без Ajax, тяжело себе представить автодополнение. А так - пожалуйста.
Это всего лишь инструмент динамической связи между браузером и сервером.

Автор:  Ярослав Романченко [ Пятница, 21 Октябрь, 2011 11:32 ]
Заголовок сообщения:  Re: Что с oo2c?

Madzi писал(а):
Например, имея мы быстрый канал
Чем быстрый канал мешает? :D
Аjax как-раз штука взамен медленного CGI, открываем канал и быстро-быстро обмениваемся пакетами.

Автор:  Kubanych [ Пятница, 21 Октябрь, 2011 11:44 ]
Заголовок сообщения:  Re: CGI и т.п.

Спасибо за интерес

Автор:  Ярослав Романченко [ Пятница, 21 Октябрь, 2011 12:39 ]
Заголовок сообщения:  Re: CGI и т.п.

Kubanych писал(а):
Так что компилированные через oo2c программы при одинаковом способе подключения будут работать быстрей php.
Всё верно до этой фразы. Компилированные программы будут ведь только на стороне сервера, и каждый HTTP запрос это по сути запуск исполнимого файла с передачей ему входны параметров и получением выходных.
Ajax же это по-идее один инициализирующий HTTP запрос, а дальше взаимодействие без HTTP запрос посылкой пакетов по установленному соединению.

Автор:  Илья Ермаков [ Пятница, 21 Октябрь, 2011 13:31 ]
Заголовок сообщения:  Re: CGI и т.п.

Нет, Ярослав, не совсем так.

Ajax - это маркетинговое название для всяких возможных применений для объекта, предоставляемого всеми современными браузерами - XMLHttpRequest.
Суть этого объекта простая - возможность из JS отправить HTTP-запрос на сервер и дождаться ответа.
Это происходит точно так же, как любой другой HTTP-запрос. Сервер вообще не может знать, то ли этот запрос пришёл через адресную строку (если GET), то ли через форму, то ли от JavaScript. Для него это просто запрос. Вызов обработчиков, соответственно, ничем не отличается (если это php, то mod_php, если бинарник - то CGI; может быть, FastCGI...)
Ajax-приложение взаимодействует с сервером серией HTTP-запросов.

То, про что говорите Вы - мечта веб-разработчиков. Гугл предложил и, по-моему, реализовал в Хроме, так называемые веб-сокеты (возможность открыть сетевое соединение и гонять через него потоки данных). Но до стандарта дело ещё далеко.

Автор:  Рыжий [ Вторник, 29 Январь, 2013 13:51 ]
Заголовок сообщения:  Re: CGI и т.п.

Евгений Темиргалеев писал(а):
Отделено: viewtopic.php?p=66568#p66568

Madzi писал(а):
Причём CGI считается одним из основных источников потенциальной угрозы, поэтому от него отказываются.
Мне кажется, что потенциальная угроза заключается не в CGI, а в языке на котором пишут. Грубо говоря, если 99% CGI написаны на Си, то приведённое высказывание имеет место. Но это не наш случай.

Почему бы не писать ISAPI приложения на Oberon? Не силен в этом вопросе, но разве в этом случае недостаточно инструмента способного производить DLL?

Автор:  perloid [ Суббота, 11 Апрель, 2015 21:48 ]
Заголовок сообщения:  Re: CGI и т.п.

кто нибуть пробовал делать свой сервак?

по примеру Go
http://thenewstack.io/building-a-web-server-in-go/

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

перед таким можно было б поставить nginx как прокси.

Автор:  Роман М. [ Вторник, 14 Апрель, 2015 23:43 ]
Заголовок сообщения:  Re: CGI и т.п.

perloid писал(а):
какие есть средства у oberon для создания легковесных потоков или корутин?

Coroutines вместо потоков

Автор:  Иван Денисов [ Вторник, 28 Апрель, 2015 05:53 ]
Заголовок сообщения:  Re: CGI и т.п.

Я пробовал делать свой сервер, он вполне работает даже.
Сделан на базе Linux версии http://gitlab.molpit.com/oberon/blackbox-freenix
Вот тут написано как его запустить:
http://gitlab.molpit.com/oberon/blackbo ... ver/README

Потоков там не используется, вот исходный код главного модуля:
http://redmine.molpit.com/projects/blac ... Server.odc

Автор:  prospero78 [ Четверг, 13 Август, 2015 23:19 ]
Заголовок сообщения:  Re: CGI и т.п.

CGI медленный только теоретически. Если запросы поступают часто, то ОС не успевает выгрузить из памяти CGI-обработчик. На примере программы дорасчёта для оперативно-информационного комплекса -- скрипт на python первые 30 сек отрабатывает за 430 мсек. После этого интервала скрипту требуется всего 32 мсек. Объём расчётных данных не меняется. Вин7. Рам-диск ещё прибавит скорости на первых порах. Экзешник на КП отработает за сотни микросекунд. Веб-сервер на python через CGI способен на средней машине выдавать простенькую страничку 20к-30к раз в секунду)

Автор:  Илья Ермаков [ Пятница, 14 Август, 2015 10:30 ]
Заголовок сообщения:  Re: CGI и т.п.

prospero78 писал(а):
Веб-сервер на python через CGI способен на средней машине выдавать простенькую страничку 20к-30к раз в секунду)


Знаете, я очень сильно сомневаюсь в этой цифре. Даже native-сервер типа NodeJS не отработает 20-30К раз в секунду "на средней машине" (максимум он отработает 20-30К независимых запросов суммарно по разным соединениям - и то вряд ли, а на одном соединении ему не даст латентность TCP для последовательного "запрос-ответ-запрос-ответ...").

А как Вы тестировали?
Я когда-то получал цифры такого порядка, тестируя JS-скриптом через AJAX. Выяснялось, что браузер тупо кэшировал ответ :) И вот тогда получались подобные цифры.

Могу ошибаться.

Автор:  prospero78 [ Пятница, 14 Август, 2015 13:04 ]
Заголовок сообщения:  Re: CGI и т.п.

Так точно. Мультитредовость+ подготовка страниц заранее. У меня была опережающая очередь на 10 запросов. Страница отдавалась около 20 кБ, одна и та же. Форум на черняховск.ком -- раздел программирование, сетевой клиент для железнодорожных и автомобильных весов Metller Toledo. ГНУ. ) Там есть встроенный веб-сервер, смотрите документацию в встроенной справке клиента) И кстати, веб-сервер --тоже на питоне))) Раздельное достижимое пространство имён.

Автор:  Ярослав Романченко [ Понедельник, 02 Май, 2016 22:30 ]
Заголовок сообщения:  Re: CGI и т.п.

prospero78 писал(а):
Если запросы поступают часто, то ОС не успевает выгрузить из памяти CGI-обработчик.
Тоже наблюдал такое. Видимо, банально, дисковый кэш ускоряет последующие загрузки CGI-скрипта.

Автор:  perloid [ Вторник, 27 Декабрь, 2016 16:34 ]
Заголовок сообщения:  Re: CGI и т.п.

у меня возникла идея - readonly БД на oberon.
индексы и запросы генерятся в код oberon и компилируются по крону.
далее клиент вызывает cgi скрипт который делает выборки и возращает некий набор id или же непосредственно данные.

фасетный поиск вобщем.
делал такое на PHP массивах и получал цифры намного более лучшие чем mysql - но с oberon должно быть еще намного быстрее?
плюсы - не нужно никуда коннектится т.к. все данные хранятся в коде.
набор данных по сути список подготовленных массивов по которым делается проход и всяческие объединения или пересечения
т.е. этакая реализация множеств и подсчет кол-ва элементов множеств.

как считаете имеет смысл?

Автор:  Comdiv [ Вторник, 27 Декабрь, 2016 16:47 ]
Заголовок сообщения:  Re: CGI и т.п.

perloid писал(а):
делал такое на PHP массивах и получал цифры намного более лучшие чем mysql

Сравнивать нужно было с NoSQL.

Автор:  Илья Ермаков [ Вторник, 27 Декабрь, 2016 19:08 ]
Заголовок сообщения:  Re: CGI и т.п.

А чо уж там, генерите сразу в топологию ПЛИС, будет тема )))
Шутка, но для некоторых применений - не шутка.

Кстати, ускорители схемные для серверов БД делают иногда.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/