Articulo de referencia

Plack (software)

Un ejemplo de programación del lado del servidor utilizando Perl, Plack y PSGI. Plack es un marco de programación de aplicaciones web en Perl inspirado en Rack para Ruby y WSGI ...

Un ejemplo de programación del lado del servidor utilizando Perl, Plack y PSGI.

Plack es un marco de programación de aplicaciones web en 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 en 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 y marcos web escritos en el lenguaje de programación Perl que permite escribir aplicaciones portátiles que pueden ejecutarse como servidores independientes o utilizando CGI , FastCGI , mod_perl , etc. [ 6 ] Está inspirado en Web Server Gateway Interface para Python , Rack para Ruby y JSGI para JavaScript . Una aplicación PSGI es una subrutina 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 manejador de archivos .

Sistemas backend compatibles

A partir de mayo de 2023 [ 7 ] Plack admite los siguientes backends de servidor:

  • CGI
  • SCGI
  • FastCGI
  • mod_perl bajo Apache 1.3 y 2.0
  • Servidor HTTP independiente incluido en Plack
  • HTTP::Servidor::Simple
  • Corona
  • Starman
  • Twiggy
  • CualquierEvento::HTTPD
  • CualquierEvento::HTTPInverso

Ejemplos

Utilizando 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 para 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 ejecutada en 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 : vie, 19 mar 2010 23:34:10 GMT Servidor : HTTP::Server::PSGI Tipo de contenido : texto/plano Longitud del contenido : 13 ¡Hola Mundo! 

Referencias

  1. Poe, Curtis (2012). Introducción a Perl . John Wiley & Sons. pág.  484. ISBN 9781118235638Consultado el 29 de octubre de 2018 .
  2. "PSGI/Plack - Superpegamento Perl para marcos de trabajo y servidores web" . plackperl.org . Consultado el 9 de septiembre de 2023 .
  3. Quigley, Ellie (2014). Perl by Example . Pearson Education. p. 586. ISBN  9780133760811Consultado el 29 de octubre de 2018 .
  4. Chromatic (2015). Modern Perl (Cuarta ed.). The Pragmatic Programmers, LLC. pág. 134. ISBN   978-1-68050-088-2.
  5. «aplauso - metacpan.org» . metacpan.org . Consultado el 30 de mayo de 2023 .
  6. cromático. "Desarrollo de aplicaciones web con Perl moderno" . modernperlbooks.com .
  7. ^ Plack::Módulos de controlador en CPAN
  • Sitio web de PSGI y Plack
  • Documentación de Plack
  • plackupmanual