Plack (программное обеспечение) - Plack (software)
Эта статья слишком полагается на Рекомендации к основные источники.Февраль 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Оригинальный автор (ы) | Тацухико Миягава |
---|---|
Разработчики) | Тацухико Миягава, Токухиро Мацуно, Джесси Лурс, Томас Доран, Грэм Кноп и другие. |
Написано в | Perl |
Лицензия | Лицензия Perl (Художественная лицензия v2 + Стандартная общественная лицензия GNU v1) |
Интернет сайт | Plackperl |
Plack это Perl среда программирования веб-приложений вдохновлен Стойка за Рубин и WSGI за Python,[1][2] и это проект, стоящий за PSGI спецификация, используемая другими фреймворками, такими как Катализатор и Танцор.[3] Plack позволяет тестировать веб-приложения Perl без живого веб-сервера.[4]
Plackup это утилита командной строки для запуска приложений PSGI из командной строки.[5]
PSGI
PSGI или же Интерфейс шлюза веб-сервера Perl является интерфейс между веб-серверы и веб-приложения и рамки написано в Perl язык программирования, позволяющий писать переносимые приложения, которые можно запускать как автономные серверы или использовать CGI, FastCGI, mod_perl, и другие.[6] Он вдохновлен Интерфейс шлюза веб-сервера за Python, Стойка за Рубин и 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.psgiHTTP :: Server :: PSGI: прием соединений по адресу http: // 0: 5000 /
Запуск как FastCGI демон слушая Сокет Unix, готовы к использованию любым веб сервер с Поддержка FastCGI:
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgiFastCGI: менеджер (pid 3336): инициализированFastCGI: менеджер (pid 3336): сервер (pid 3337) запущенFastCGI: сервер (pid 3337): инициализирован
Рабочий Привет, мир приложение работает как один лайнер:
$ packup -e 'sub {[200, ["Content-Type" => "text / plain"], ["Привет, мир!"]]}'HTTP :: Server :: PSGI: прием соединений по адресу http: // 0: 5000 /
Приведенная выше команда запускает HTTP сервер слушая порт 5000 каждого локального интерфейса (айпи адрес ) и возвращает это 200 ОК ответ на каждый HTTP-запрос:
HTTP/1.0 200 OkДата: Пт, 19 марта 2010 г. 23:34:10 GMTСервер: HTTP :: Сервер :: PSGIТип содержимого: текст / простойContent-Length: 13Привет, мир!
Рекомендации
- ^ По, Кертис (2012). Начиная с Perl. Джон Вили и сыновья. п. 484. ISBN 9781118235638. Получено 29 октября 2018.
- ^ http://plackperl.org
- ^ Куигли, Элли (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 :: Handler модули на CPAN