cgi i la mayor parte de los elementos html de que disponemos permite al visitante visualizar los...

22
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho de otro modo, la relación usuario/página es unidireccional y estática. Con los formularios, por el contrario, el usuario puede interactuar con el sitio enviando sus comentarios, haciendo peticiones sin necesidad de escribir mensajes por correo electrónico, firmando en el libro de visitas, contestando a encuestas y sondeos, etc. Todo ello define una relación bidireccional, que es posible sólo gracias a la intervención de programas residentes en servidores WWW: se trata de los denominados CGI o Common Gateway Interface (Interfaz Común de Pasarela).

Upload: adelmira-rondon

Post on 02-Mar-2015

4 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

CGI I

La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho de otro modo, la relación usuario/página es unidireccional y estática. Con los formularios, por el contrario, el usuario puede interactuar con el sitio enviando sus comentarios, haciendo peticiones sin necesidad de escribir mensajes por correo electrónico, firmando en el libro de visitas, contestando a encuestas y sondeos, etc. Todo ello define una relación bidireccional, que es posible sólo gracias a la intervención de programas residentes en servidores WWW: se trata de los denominados CGI o Common Gateway Interface (Interfaz Común de Pasarela).

Page 2: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Formularios II

Los CGI hacen posible lo que no podría hacerse si se actuara desde el lado del cliente. Es decir, la gestión de los formularios depende, en realidad, más del servidor que de la programación HTML. Para que un formulario HTML funcione es necesario disponer de un CGI residente en el propio servidor o en otro sitio.

Page 3: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Procesamiento de Formularios

Una vez que el usuario ha digitado completamente los datos del formulario, debe pulsar el botón de envío (submit). Esta acción desencadena dos procesos claramente definidos; el primero de ellos consiste en iniciar la ejecución de un programa almacenado en el servidor y, el segundo, en transferir a dicha aplicación los datos almacenados en el formulario.

Page 4: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Procesamiento de Formularios II

La etiqueta <FORM> contiene dos atributos, ACTION Y METHOD, que permiten ejecutar los procesos mencionados.

El atributo METHOD determina la forma como son enviados los datos hacia el servidor, mientras que el atributo ACTION inicia la ejecución del programa que va a procesar los datos transferidos desde el formulario

Page 5: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

El atributo ACTION

El valor asociado con el atributo ACTION es el URL (o trayectoria) en donde se encuentra el guión (programa). El formato del atributo ACTION es:

<FORM ACTION=“protocolo//servidor/trayectoria/aplicación.exe”>

<FORM ACTION=“http://univ.edu.co/libros/cgi/formas/demo.exe>

Page 6: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

El atributo METHOD

La información contenida en el formulario puede transferirse siguiendo dos esquemas diferentes: GET o POST

GET

En el método GET los datos del formulario son transferidos al servidor y almacenados en la variable estándar QUERY_STRING; esta variable, definida por la interfaz CGI, pertenece al conjunto de variables de entorno que se encuentran disponibles en el servidor, y puede ser utilizada deforma directa por cualquier programa que pueda hacer uso de ella.

<FORM METHOD=“GET” ACTION=“http://univ.edu.co/libros/cgi/formas/demo.exe>

Page 7: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

El atributo METHOD

GET

El método GET limita la cantidad de información que se puede transferir al servidor, debido a que los datos que se pueden contener la variable QUERY_STRING están limitados por la especificación del sistema

Page 8: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

El atributo METHOD

POST

El método POST se permite el envío de los datos contenidos en el formulario a través de un canal separad, de modo que el guión (programa) recupera los datos leyendo la información de la entrada estándar del sistema.

<FORM METHOD=“POST” ACTION=“http://univ.edu.co/libros/cgi/formas/demo.exe>

Page 9: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Variables de entorno

El estándar CGI define un conjunto de variables, denominadas variables de entorno, lista para almacenar información relativa al cliente, al servidor y a los datos provenientes de una formulario. Estas variables pueden ser detectadas por la mayoría de los lenguajes de programación, y algunas adquieren el valor que le corresponden en el momento de la transferencia del formulario

Page 10: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Variables de entorno

El estándar CGI define un conjunto de variables, denominadas variables de entorno, lista para almacenar información relativa al cliente, al servidor y a los datos provenientes de una formulario. Estas variables pueden ser detectadas por la mayoría de los lenguajes de programación, y algunas adquieren el valor que le corresponden en el momento de la transferencia del formulario

Page 11: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplos de variables de entornoHTTP_USER_AGENT

contiene el nombre y la versión del navegador.HTTP_ACCEPT

Proporcionalos formatos MIME que acepta el navegador.

REMOTE_HOSTContiene el nombre (cadena alfanumérica) del host del servidor.

REMOTE_ADDRContiene la dirección IP en notación decimal punteada (por ejemplo, 127.0.0.1).

SERVER_SOFTWAREContiene el nombre y la versión del software del servidor.

Page 12: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplos de variables de entornoSERVER_NAME

contiene el nombre del host del servidor, los alias DNS o la dirección IP.

QUERY_STRINGDatos del formulario (usando GET).

SCRIPT_NAMEEstablece el nombre de archivo del programa CGI.

CONTENT_TYPEDefine el tipo de contenido MIME de los datos

CONTENT_LENGHTnumero de bytes de los datos recibidos con POST.

Page 13: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplos de variables de entornoREQUEST_METHOD

Método con el que se envía el formulario.GATEWAY_INTERFACE

Versión de la especificación CGI usada para la comunicación.

SERVER_PORTEpuerto del servidor a través del cual se están enviando los datos.

SERVER_PROTOCOLnombre y versión de protocolo utilizado en la comunicación.

AUTH_TYPEContiene el método de autetificación del usuario.

Page 14: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

Empecemos creando un formulario muy simple en el que figuren el nombre y apellidos, la dirección de correo electrónico y un comentario sobre el sitio. Para ello, introducimos el siguiente código:<FORM ACTION=http://www.coder.com/code/mailform/mailform.pl.cgi METHOD=POST>Este campo invoca el CGI presente en el servidor.

Page 15: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=HIDDEN NAME=MAILFORM_ID VALUE="Val_7743">Este campo se modifica sólo por lo que se refiere al código de identificación "Val_7743", que se sustituye con el comunicado por el servicio gratuito mediante correo electrónico. Este sencillo procedimiento es fundamental para que tu formulario llegue a tu buzón de correo y no al de otra persona.

Page 16: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=HIDDEN NAME=MAILFORM_SUBJECT VALUE="Mi primer formulario">Este campo define el asunto del mensaje que te llegará por correo electrónico en el momento del envío con el contenido del formulario. En lugar de "Mi primer formulario", puedes usar la frase que retengas más oportuna.

Page 17: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=HIDDEN NAME=MAILFORM_URL VALUE="http://www.htmlpoint.com/risposta.htm">Este campo indica la página web que deberá visualizarse tras pulsar el botón "Envía". En este ejemplo hemos insertado un documento presente en el servidor de HTMLpoint que puedes sustituir con una página presente en tu servidor.

Page 18: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=text NAME=MAILFORM_FROM SIZE=33>Este campo debe permanecer invariado (no por lo que respecta a las dimensiones, obviamente) ya que permite obtener en el "reply-to" del mensaje que el formulario envía, la dirección de quien ha rellenado la plantilla.

Page 19: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=text NAME=MAILFORM_NAME SIZE=33>Este campo debe permanecer inalterado (no por lo que respecta a las dimensiones, obviamente) ya que introduce en el mensaje que nos llegará por correo electrónico ese nombre en el campo del remitente.

Page 20: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo de CGI

<INPUT TYPE=SUBMIT VALUE="Envía">Este campo es necesario para expedir el módulo, pero no se sale de las reglas generales de los formularios.

Page 21: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

<INPUT type=“SUBMIT”>

<INPUT type="SUBMIT" value="Envía">

El clásico botón de envío que remite el formulario con todo su contenido. La dimensión del botón depende de la longitud del texto.

Page 22: CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho

Ejemplo