пластина (программное обеспечение)
Оригинальный автор(ы) | Тацухико Миягава |
---|---|
Разработчик(и) | Тацухико Миягава, Токухиро Мацуно, Джесси Люэрс, Томас Доран, Грэм Кноп и другие. |
Написано в | Перл |
Лицензия | Лицензия Perl (Artistic License v2 + GNU General Public License v1) |
Веб-сайт | плакперл |

Plack — это на Perl, среда программирования веб-приложений вдохновленная Rack для Ruby и WSGI для Python . [1] [2] и это проект, лежащий в основе спецификации PSGI , используемой другими фреймворками, такими как Catalyst и Dancer . [3] Plack позволяет тестировать веб-приложения Perl без работающего веб-сервера. [4]
Plackup — это утилита командной строки для запуска приложений PSGI из командной строки. [5]
ПСГИ
[ редактировать ]PSGI или Perl Web Server Gateway Interface — это интерфейс между веб-серверами и веб-приложениями и платформами, написанный на языке программирования Perl , который позволяет писать переносимые приложения, которые можно запускать как автономные серверы или использовать CGI , FastCGI , mod_perl и др. [6] Он создан на основе интерфейса шлюза веб-сервера для Python , Rack для Ruby и JSGI для JavaScript . Приложение PSGI — это подпрограмма Perl , которая принимает аргументы как одну ссылку на хэш и возвращает ссылку на массив из трех элементов: код состояния HTTP , ссылку на массив заголовков HTTP и ссылку на массив строк тела HTTP ( обычно сгенерированный HTML- документ) или файла , похожий на дескриптор объект .
Поддерживаемые серверные части
[ редактировать ]По состоянию на май 2023 г. [update][7] Plack поддерживает следующие серверные серверы:
- компьютерная графика
- SCGI
- FastCGI
- mod_perl под Apache 1.3 и 2.0
- Автономный HTTP-сервер, включенный в Plack
- HTTP::Сервер::Простой
- Корона
- Звездный человек
- Твигги
- AnyEvent::HTTPD
- AnyEvent::ReverseHTTP
Примеры
[ редактировать ]Использование автономного HTTP-сервера по умолчанию:
$ plackup app.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/
FastCGI, Запускается как демон прослушивающий сокет Unix , готовый к использованию любым веб-сервером с поддержкой FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi
FastCGI: manager (pid 3336): initialized
FastCGI: manager (pid 3336): server (pid 3337) started
FastCGI: server (pid 3337): initialized
Рабочее приложение Hello world, работающее как однострочное :
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }'
HTTP::Server::PSGI: Accepting connections at http://0:5000/
Приведенная выше команда запускает HTTP-сервер, прослушивающий порт 5000 каждого локального интерфейса ( IP-адреса ), и возвращает ответ 200 OK на каждый HTTP-запрос :
HTTP/1.0 200 OK
Date: Fri, 19 Mar 2010 23:34:10 GMT
Server: HTTP::Server::PSGI
Content-Type: text/plain
Content-Length: 13
Hello, world!
Ссылки
[ редактировать ]- ^ По, Кертис (2012). Начало Перла . Джон Уайли и сыновья. п. 484. ИСБН 9781118235638 . Проверено 29 октября 2018 г.
- ^ «PSGI/Plack — Perl Superglue для веб-фреймворков и веб-серверов» . plackperl.org . Проверено 9 сентября 2023 г.
- ^ Куигли, Элли (2014). Perl на примере . Пирсон Образование. п. 586. ИСБН 9780133760811 . Проверено 29 октября 2018 г.
- ^ Хроматический (2015). Современный Perl (Четвертое изд.). ООО «Прагматические программисты». п. 134. ИСБН 978-1-68050-088-2 .
- ^ «плакап — метакпан.орг» . Metacpan.org . Проверено 30 мая 2023 г.
- ^ хроматический. «Разработка веб-приложений на современном Perl» . Modernperlbooks.com .
- ^ Модули Plack::Handler на CPAN
Внешние ссылки
[ редактировать ]