PDF de programación - Aplicaciones Web - Más alla de CGI

Imágen de pdf Aplicaciones Web - Más alla de CGI

Aplicaciones Web - Más alla de CGIgráfica de visualizaciones

Publicado el 3 de Julio del 2017
670 visualizaciones desde el 3 de Julio del 2017
154,7 KB
22 paginas
Creado hace 16a (29/04/2008)
Aplicaciones Web

Más alla de CGI

David Cabrero Souto

Grupo MADS (http://www.grupomads.org/)

Universidade da Coruña

Problema de CGI

Problema de CGI: coste de lanzar un proceso por petición.

:Navegador:Servidor_http:CGI Fast CGI

El proceso se lanza con la primera petición.
No termina, continúa ejecutándose.

:Navegador:Servidor_http:FastCGI Extensiones del servidor

Módulos Apache para lenguajes: python, php, perl, ruby, . . .
El intérprete “forma parte” del servidor.
Adicionalmente se ofrece acceso a características propias del
servidor.

form mod_python import apache
...

apache.log_error("Movimiento incorrecto")

Extensiones del servidor

Módulos Apache para lenguajes: python, php, perl, ruby, . . .
El intérprete “forma parte” del servidor.
Adicionalmente se ofrece acceso a características propias del
servidor.

form mod_python import apache
...

apache.log_error("Movimiento incorrecto")

Lenguaje incrustado (II)

El código de la aplicación se introduce en la página.
Ejemplo python PSP:

<html>
...
<%
if form.has_key(’name’):

greet = ’Hello, %s!’ % form[’name’].capitalize()

else:

greet = ’Hello there!’

# end
%>

<h1><%= greet %></h1>

...
</html>

Lenguaje incrustado (II)

El código de la aplicación se introduce en la página.
Ejemplo python PSP:

<html>
...
<%
if form.has_key(’name’):

greet = ’Hello, %s!’ % form[’name’].capitalize()

else:

greet = ’Hello there!’

# end
%>

<h1><%= greet %></h1>

...
</html>

Lenguaje incrustado (II)

Ejemplo PHP:

<html>

<head>
<title>Example #1 TDavid’s Very First PHP Script ever!</title>
</head>

<body>

<? print(Date("l F d, Y")); ?>

</body>
</html>

Peligro: Olvidar MVC.
Peligro: Las páginas dejan de ser HTML.

Lenguaje incrustado (II)

Ejemplo PHP:

<html>

<head>
<title>Example #1 TDavid’s Very First PHP Script ever!</title>
</head>

<body>

<? print(Date("l F d, Y")); ?>

</body>
</html>

Peligro: Olvidar MVC.
Peligro: Las páginas dejan de ser HTML.

Lenguaje incrustado (II)

Ejemplo PHP:

<html>

<head>
<title>Example #1 TDavid’s Very First PHP Script ever!</title>
</head>

<body>

<? print(Date("l F d, Y")); ?>

</body>
</html>

Peligro: Olvidar MVC.
Peligro: Las páginas dejan de ser HTML.

Contenedores de aplicaciones

Ejemplo: Java.

Servlet = clase java.
Contendor de servlets: mapea urls a servlets.
Contendor de aplicaciones: añade seguridad, concurrencia,
transacciones, . . .

Contenedores de aplicaciones

Ejemplo: Java.

Servlet = clase java.
Contendor de servlets: mapea urls a servlets.
Contendor de aplicaciones: añade seguridad, concurrencia,
transacciones, . . .

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

Autenticación

Autenticación HTTP.

Basada en login/password.
La información viaja en las cabeceras.
Podemos recuperar la información desde nuestra aplicación.

def authenhandler(req):

pw = req.get_basic_auth_pw()
user = req.connection.user

Con AuthType Basic la clave viaja en claro.
Con AuthType Digest se manda un resumen MD5.

Autenticación “ad-hoc”.

Login y password son argumentos de la petición.

En ambos casos: HTTPS.

No usar servidor http

Protocolo HTTP tiene varias partes: MUST, SHOULD, MAY.
Tiene sentido en: embebidos, aplicaciones especiales.

No usar servidor http

Protocolo HTTP tiene varias partes: MUST, SHOULD, MAY.
Tiene sentido en: embebidos, aplicaciones especiales.
  • Links de descarga
http://lwp-l.com/pdf4815

Comentarios de: Aplicaciones Web - Más alla de CGI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad