Plack es un marco de programación de aplicaciones web de 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 activo. [4]
Autor (es) original (es) | Tatsuhiko Miyagawa |
---|---|
Desarrollador (es) | Tatsuhiko Miyagawa, Tokuhiro Matsuno, Jesse Luehrs, Tomas Doran, Graham Knop y otros. |
Escrito en | Perl |
Licencia | Licencia Perl (Licencia artística v2 + Licencia pública general GNU v1) |
Sitio web | plackperl |
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 marcos escritos en el lenguaje de programación Perl que permite escribir aplicaciones portátiles que se pueden ejecutar como servidores independientes o usando CGI , FastCGI , mod_perl , et al. [6] Está inspirado en la interfaz de puerta de enlace del servidor web 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 ( generalmente un documento HTML generado ) o un objeto similar a un identificador de archivo .
Backends compatibles
A marzo de 2010[actualizar][7] Plack admite los siguientes servidores backends:
- CGI
- SCGI
- FastCGI
- mod_perl bajo Apache 1.3 y 2.0
- Servidor HTTP independiente incluido en Plack
- HTTP :: Servidor :: Simple
- Corona
- Hombre estrella
- Twiggy
- AnyEvent :: HTTPD
- AnyEvent :: ReverseHTTP
Ejemplos de
Usando el servidor HTTP independiente predeterminado:
$ plackup app.psgi HTTP :: Server :: PSGI: Aceptando conexiones en http: // 0: 5000 /
Ejecutando como un demonio FastCGI escuchando en un socket Unix , listo para ser utilizado por cualquier servidor web con soporte FastCGI :
$ plackup -s FCGI -escucha /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 funcional de Hello World que se ejecuta como una sola línea :
$ plackup -e 'sub {[200, ["Content-Type" => "text / plain"], ["Hello, world!"]]}' 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 :: Servidor :: PSGI Tipo de contenido : texto / sin formato Contenido-Longitud : 13¡Hola Mundo!
Referencias
- ^ Poe, Curtis (2012). Comenzando con Perl . John Wiley e hijos. pag. 484. ISBN 9781118235638. Consultado el 29 de octubre de 2018 .
- ^ http://plackperl.org
- ^ Quigley, Ellie (2014). Perl por ejemplo . Educación Pearson. pag. 586. ISBN 9780133760811. Consultado el 29 de octubre de 2018 .
- ^ Cromático (2015). Perl moderno (Cuarta ed.). Los programadores pragmáticos, LLC. pag. 134. ISBN 978-1-68050-088-2.
- ^ "plackup - search.cpan.org" . search.cpan.org . Consultado el 20 de febrero de 2016 .
- ^ 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 placa
- plackup manual