В этой статье слишком много ссылок на первоисточники . ( Февраль 2013 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Автор (ы) оригинала | Тацухико Миягава |
---|---|
Разработчики) | Тацухико Миягава, Токухиро Мацуно, Джесси Люрс, Томас Доран, Грэм Кноп и другие. |
Написано в | Perl |
Лицензия | Лицензия Perl (Artistic License v2 + GNU General Public License v1) |
Интернет сайт | plackperl |
Plack является Perl основы программирования веб - приложений , вдохновленный Rack для Руби и WSGI для Python , [1] [2] , и это проект за PSGI спецификации , используемой другими системами , такими как Catalyst и Dancer . [3] Plack позволяет тестировать веб-приложения Perl без реального веб-сервера. [4]
Plackup - это утилита командной строки для запуска приложений PSGI из командной строки. [5]
PSGI [ править ]
PSGI или Perl Web Server Gateway Interface - это интерфейс между веб-серверами и веб-приложениями и фреймворками, написанными на языке программирования Perl, который позволяет писать переносимые приложения, которые могут работать как автономные серверы или с использованием CGI , FastCGI , mod_perl и др. [6] Он основан на интерфейсе шлюза веб-сервера для Python , Rack для Ruby и JSGI для JavaScript . Приложение PSGI - это Perlподпрограмма, которая принимает аргументы как одну хеш- ссылку и возвращает ссылку на массив из трех элементов: код состояния HTTP , ссылку на массив заголовков HTTP и ссылку на массив строк тела HTTP (обычно сгенерированный документ HTML ) или указатель_на_файл -как объект .
Поддерживаемые серверные ВМ [ править ]
По состоянию на март 2010 года [7] Plack поддерживает следующие серверные части:[Обновить]
- CGI
- SCGI
- FastCGI
- mod_perl под Apache 1.3 и 2.0
- Автономный HTTP-сервер, включенный в Plack
- HTTP :: Сервер :: Простой
- Корона
- Звездный человек
- Твигги
- AnyEvent :: HTTPD
- AnyEvent :: ReverseHTTP
Примеры [ править ]
Использование автономного HTTP-сервера по умолчанию:
$ plackup app.psgi HTTP :: Server :: PSGI: прием соединений по адресу http: // 0: 5000 /
Запускается как демон FastCGI , прослушивающий сокет Unix , готовый к использованию любым веб-сервером с поддержкой FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi FastCGI: manager (pid 3336): инициализирован FastCGI: manager (pid 3336): server (pid 3337) запущен FastCGI: server (pid 3337): initialized
Рабочее приложение Hello world, запускаемое как однострочное :
$ plackup -e 'sub {[200, ["Content-Type" => "text / plain"], ["Hello, world!"]]}' HTTP :: Server :: PSGI: прием подключений по http: / / 0: 5000 /
Приведенная выше команда запускает HTTP-сервер, прослушивающий порт 5000 каждого локального интерфейса ( IP-адреса ), и возвращает этот ответ 200 OK на каждый HTTP-запрос :
HTTP / 1.0 200 OK Дата : Пт, 19 марта 2010 г. 23:34:10 GMT Сервер : HTTP :: Server :: PSGI Content-Type : text / plain Content-Length : 13Привет, мир!
Ссылки [ править ]
- ^ По, Кертис (2012). Начиная с Perl . Джон Вили и сыновья. п. 484. ISBN 9781118235638. Проверено 29 октября 2018 года .
- ^ http://plackperl.org
- Перейти ↑ Quigley, Ellie (2014). Perl на примере . Pearson Education. п. 586. ISBN. 9780133760811. Проверено 29 октября 2018 года .
- ^ Хроматический (2015). Современный Perl (Четвертое изд.). ООО "Прагматичные программисты". п. 134. ISBN 978-1-68050-088-2.
- ^ "plackup - search.cpan.org" . search.cpan.org . Проверено 20 февраля +2016 .
- ^ хроматический. «Разработка веб-приложений с использованием современного Perl» . modernperlbooks.com .
- ^ Plack :: Модули обработчиков на CPAN
Внешние ссылки [ править ]
- Сайт PSGI и Plack
- Документация Plack
- plackup руководство