stringtranslate.com

Placa (software)

Un ejemplo de scripting del lado del servidor usando Perl, Plack y PSGI.

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:

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

  1. ^ Poe, Curtis (2012). El comienzo de Perl. John Wiley & Sons. pág. 484. ISBN 9781118235638. Recuperado el 29 de octubre de 2018 .
  2. ^ "PSGI/Plack - Perl Superglue para frameworks web y servidores web". plackperl.org . Consultado el 9 de septiembre de 2023 .
  3. ^ Quigley, Ellie (2014). Perl por ejemplo. Pearson Education. pág. 586. ISBN 9780133760811. Recuperado el 29 de octubre de 2018 .
  4. ^ Chromatic (2015). Modern Perl (cuarta edición). 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

Enlaces externos