stringtranslate.com

Плак (программное обеспечение)

Пример написания сценариев на стороне сервера с использованием Perl, Plack и PSGI.

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] Он создан на основе интерфейса веб-сервера Gateway для Python , Rack для Ruby и JSGI для JavaScript . Приложение PSGI — это подпрограмма Perl , которая принимает аргументы как одну ссылку на хэш и возвращает ссылку на массив из трех элементов: код состояния HTTP , ссылку на массив заголовков HTTP и ссылку на массив строк тела HTTP ( обычно сгенерированный HTML- документ) или объект , похожий на дескриптор файла .

Поддерживаемые серверные части

По состоянию на май 2023 г. [7] Plack поддерживает следующие серверные части:

Примеры

Использование автономного HTTP-сервера по умолчанию:

$ plackup  app.psgi HTTP::Server::PSGI: прием подключений по адресу http://0:5000/

Запускается как демон FastCGI , прослушивающий сокет Unix , готовый к использованию любым веб-сервером с поддержкой FastCGI :

$ plackup  -s  FCGI  -listen  /tmp/fcgi.sock  app.psgi FastCGI: менеджер (pid 3336): инициализирован FastCGI: менеджер (pid 3336): сервер (pid 3337) запущен FastCGI: сервер (pid 3337): инициализирован

Рабочее приложение 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Привет, мир!

Рекомендации

  1. ^ По, Кертис (2012). Начало Перла. Джон Уайли и сыновья. п. 484. ИСБН 9781118235638. Проверено 29 октября 2018 г.
  2. ^ «PSGI/Plack — Суперклей Perl для веб-фреймворков и веб-серверов» . plackperl.org . Проверено 9 сентября 2023 г.
  3. ^ Куигли, Элли (2014). Перл на примерах. Пирсон Образование. п. 586. ИСБН 9780133760811. Проверено 29 октября 2018 г.
  4. ^ Хроматический (2015). Современный Perl (Четвертое изд.). ООО «Прагматические программисты». п. 134. ИСБН 978-1-68050-088-2.
  5. ^ "Placup - Metacpan.org" . Metacpan.org . Проверено 30 мая 2023 г.
  6. ^ хроматический. «Разработка веб-приложений с использованием современного Perl». Modernperlbooks.com .
  7. ^ Модули Plack::Handler на CPAN

Внешние ссылки