Изменения

Перейти к: навигация, поиск

Платформы для запуска Perl веб-приложений

22 байта добавлено, 18:11, 29 августа 2009
HTTP::Server::Simple
Плюсы:
* Интерфейс — CGI. В режиме '''nph''' - "Non — «Non-Parsed Headers" - т.е. Headers» — то есть на STDOUT нужно выводить просто HTTP-ответ. Это устраняет по сути все интерфейсные ограничения CGI.
* Можно использовать стандартные модули Net::Server::'''xx''' для выбора поведения сервера — например, можно использовать как TCP, как и UNIX сокеты, можно создать prefork ({{CPAN|Net::Server::PreFork}} или {{CPAN|Net::Server::PreForkSimple}}) или мультиплексирующий однопоточный сервер ({{CPAN|Net::Server::Multiplex}}).
* Существует некоторое количество модулей для расширения данного сервера — в частности, для запуска приложений на некоторых фреймворках через HTTP::Server::Simple, например, для {{CPAN|Mason}}.
* Интерфейс CGI всё-таки требует по крайней мере выбора нужных модулей для разбора запросов и объединения всего этого функционала в своём приложении.
* Странная реализация parse_request() и parse_headers(), по меньшей мере, вплоть до версии 0.40. Лечится просто - просто — переопределением соответствующей функции, но это ведь тоже лишние действия! :)
** Читает из стандартного ввода запрос и заголовки она по 1 символу функцией [http://perldoc.perl.org/functions/sysread.html sysread()], что весьма негативно сказывается на производительности.
** В качестве разделителя строк, согласно всем стандартам, при обмене данными по сети, должно выступать сочетание CR-LF в платформо-независимом варианте: "«\015\012"012». Тем не менее, функции HTTP::Server::Simple используют просто "«\n", что тоже работает, но не является идеально переносимым вариантом.
== Заключение ==

Навигация