CGI I - PowerPoint PPT Presentation

About This Presentation
Title:

CGI I

Description:

La mayor parte de los elementos HTML de que disponemos permite al visitante ... la forma como son enviados los datos hacia el servidor, mientras que el atributo ... – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 23
Provided by: serv205
Category:
Tags: cgi | hacia | otro | todo

less

Transcript and Presenter's Notes

Title: CGI I


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 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).

2
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.
3
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.
4
Procesamiento de Formularios II

La etiqueta ltFORMgt 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
5
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 ltFORM ACTIONprotocolo//servidor/trayectoria
/aplicación.exegt ltFORM ACTIONhttp//univ.edu.co
/libros/cgi/formas/demo.exegt
6
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. ltFORM
METHODGET ACTIONhttp//univ.edu.co/libros/cgi
/formas/demo.exegt
7
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
8
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. ltFORM
METHODPOST ACTIONhttp//univ.edu.co/libros/cg
i/formas/demo.exegt
9
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
10
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
11
Ejemplos de variables de entorno
  • HTTP_USER_AGENTcontiene el nombre y la versión
    del navegador.
  • HTTP_ACCEPTProporcionalos 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.

12
Ejemplos de variables de entorno
  • SERVER_NAMEcontiene 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.

13
Ejemplos de variables de entorno
  • REQUEST_METHODMétodo con el que se envía el
    formulario.
  • GATEWAY_INTERFACEVersió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.

14
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ódigoltFORM ACTIONhttp//www.coder.com/code/mai
lform/mailform.pl.cgi METHODPOSTgtEste campo
invoca el CGI presente en el servidor.

15
Ejemplo de CGI
  • ltINPUT TYPEHIDDEN NAMEMAILFORM_ID
    VALUE"Val_7743"gtEste 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.

16
Ejemplo de CGI
  • ltINPUT TYPEHIDDEN NAMEMAILFORM_SUBJECT
    VALUE"Mi primer formulario"gtEste 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.

17
Ejemplo de CGI
  • ltINPUT TYPEHIDDEN NAMEMAILFORM_URL
    VALUE"http//www.htmlpoint.com/risposta.htm"gtEst
    e 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.

18
Ejemplo de CGI
  • ltINPUT TYPEtext NAMEMAILFORM_FROM
    SIZE33gtEste 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.

19
Ejemplo de CGI
  • ltINPUT TYPEtext NAMEMAILFORM_NAME
    SIZE33gtEste 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.

20
Ejemplo de CGI
  • ltINPUT TYPESUBMIT VALUE"Envía"gtEste campo
    es necesario para expedir el módulo, pero no se
    sale de las reglas generales de los formularios.

21
ltINPUT typeSUBMITgt
  • ltINPUT type"SUBMIT" value"Envía"gtEl
    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.

22
Ejemplo
Write a Comment
User Comments (0)
About PowerShow.com