
Plack es un marco de programación de aplicaciones web Perl inspirado en Rack para Ruby y WSGI para Python , [1] [2] y es el proyecto detrás de la especificación PSGI utilizada por otros marcos como Catalyst y Dancer . [3] Plack permite probar aplicaciones web Perl sin un servidor web en vivo. [4]
Plackup es una utilidad de línea de comandos para ejecutar aplicaciones PSGI desde la línea de comandos. [5]
PSGI
PSGI o Perl Web Server Gateway Interface es una interfaz entre servidores web y aplicaciones web y frameworks escritos en el lenguaje de programación Perl que permite escribir aplicaciones portables que pueden ejecutarse como servidores independientes o usando CGI , FastCGI , mod_perl , et al. [6] Está inspirado en la Web Server Gateway Interface para Python , Rack para Ruby y JSGI para JavaScript . Una aplicación PSGI es una subrutina de Perl que acepta argumentos como una única referencia hash y devuelve una referencia a una matriz de tres elementos: un código de estado HTTP , una referencia a una matriz de encabezados HTTP y una referencia a una matriz de líneas de cuerpo HTTP (normalmente un documento HTML generado ) o un objeto tipo identificador de archivo .
Backends compatibles
A partir de mayo de 2023 [7] Plack admite los siguientes backends de servidor: [actualizar]
- CGI
- sggi
- CGI rápido
- mod_perl bajo Apache 1.3 y 2.0
- Servidor HTTP independiente incluido en Plack
- HTTP::Servidor::Simple
- Corona
- Hombre estrella
- Ramita
- Cualquier evento::HTTPD
- Cualquier evento::ReverseHTTP
Ejemplos
Usando el servidor HTTP independiente predeterminado:
$ plackup app.psgi
HTTP::Server::PSGI: Aceptando conexiones en http://0:5000/
Se ejecuta como un demonio FastCGI que escucha en un socket Unix , listo para ser utilizado por cualquier servidor web con soporte FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi
FastCGI: administrador (pid 3336): inicializado
FastCGI: administrador (pid 3336): servidor (pid 3337) iniciado
FastCGI: servidor (pid 3337): inicializado
Una aplicación Hola mundo funcional que se ejecuta como una sola línea :
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["¡Hola, mundo!"]] }' HTTP::Server::PSGI: Aceptando conexiones en http://0:5000/
El comando anterior inicia un servidor HTTP que escucha en el puerto 5000 de cada interfaz local ( dirección IP ) y devuelve esta respuesta 200 OK a cada solicitud HTTP :
HTTP / 1.0 200 OK
Fecha : Viernes, 19 de marzo de 2010 23:34:10 GMT
Servidor : HTTP::Server::PSGI
Tipo de contenido : text/plain
Longitud del contenido : 13
¡Hola Mundo!
Referencias
- ^ Poe, Curtis (2012). El comienzo de Perl. John Wiley & Sons. pág. 484. ISBN 9781118235638. Recuperado el 29 de octubre de 2018 .
- ^ "PSGI/Plack - Perl Superglue para frameworks web y servidores web". plackperl.org . Consultado el 9 de septiembre de 2023 .
- ^ Quigley, Ellie (2014). Perl por ejemplo. Pearson Education. pág. 586. ISBN 9780133760811. Recuperado el 29 de octubre de 2018 .
- ^ Chromatic (2015). Modern Perl (cuarta edición). The Pragmatic Programmers, LLC. pág. 134. ISBN 978-1-68050-088-2.
- ^ "aplauso - metacpan.org". metacpan.org . Consultado el 30 de mayo de 2023 .
- ^ cromático. "Desarrollo de aplicaciones web con Perl moderno". modernperlbooks.com .
- ^ Plack::Módulos de controlador en CPAN
Enlaces externos
- Sitio web de PSGI y Plack
- Documentación de Plack
- Manual de planchado