Redes
CGI
Web Form es una página HTML con uno o más campos de entrada y un boton obligatorio “Submit” Una vez “click” sobre el boton “Submit” el browser envia el contenido de los campos de entrada hacia el servidor. Arma un mensaje HTTP para enviar el requerimiento y luego invoque un método GET o POST en el lado del servidor. El servidor pasa elrequerimiento y sus parámetros a otro programa usando un protocolo llamado CGI
Common Gateway Interface (CGI)
CGI es un mecanismo ofrecido por los servidores web para invocar programas externos que generen la respuesta a una solicitud Es independiente del lenguaje de programación Los programas CGI residen en la misma máquina que el servidor web
Esquema CGI (Common Gateway Interface)
Peticióninformación
Página HTML CLIENTE SERVIDOR WEB Página HTML creada dinámicamente a partir de la Programa CGI
llamada a CGI
MÁQUINA DEL SERVIDO
Consulta a la BD (SQL)
Resultado de la
BASE DE DATOS
Ejemplo de CGI escrito en C
main() { printf(“Content-type: text/html\n\n”); /* \n significa cambio de línea, hemos dejado la línea en blanco */ printf(“\n”); printf(“\n”); printf(“CGIsencillo\n”); printf(“\n”); printf(“\n”); printf(“Hola, soy un CGI\n”); printf(“\n”); printf(“\n”); }
Generalidades
Hipertexto Cierta interactividad mediante la solicitud de distintos contenidos Formularios Posibilidad de que el usuario envíe datos al servidor (datos personales, sugerencias, ...) Estructura: Elementos de entrada de datos Botón de envío (Submit) Método de envío de datos Acción queel servidor debe emprender cuando reciba los datos
Generalidades
Servidor HTTP
CGI
(Common Gateway Interface)
QUERY STRING
Respue sta HTML
QUERY STRING
BASE DE DATOS
Cliente
Respuesta HTML
Servidor
Formas de envío
Métodos más usados: GET y POST GET Designado para obtener información (un documento, un gráfico o el resultado de la consulta a una BD) Usado alescribir una URL en el navegador Usado cuando se da Click a en un hiperlink POST Designado para enviar información (un nº de tarjeta de crédito, nuevos datos o información para guardar en una BD)
Cualquiera de los dos puede usarse cuando se envía un formulario HTML
Método GET
Puede incluir parámetros (?nombre1=valor1&nombre2=valor2) Secuencia de caracteres añadida a la URL: QUERY STRING No esmuy seguro, ya que los datos viajan junto a la dirección y son vistos por todo el mundo en la barra de direcciones El tamaño de la información enviada estará limitada La URL puede ser guardada o enviada por e-mail en el URL
Método POST
Técnica diferente de envío de información En algunos casos se necesita enviar Mb Características: A través de una conexión “socket” Datos como parte del cuerpode la petición HTTP Longitud ilimitada El intercambio es invisible para el cliente La URL no cambia en absoluto La petición no puede ser guardada ni enviada por e-mail e incluso no puede ser “refrescada” Ofrece un extra de seguridad puesto que el “access log” del servidor que guarda las URLs no guarda los datos enviados mediante POST.
Introducción
Cliente (browser) – Página HTML – Tagespecial Envia el requerimiento HTTP al servidor enviando los parámetros y el programa a ejecutar. El Servidor HTTP recibe el requerimiento y pasa los parámetros y el requerimiento a otro programa usando el protocolo CGI – Common Gateway Interface El servidor CGI puede estar escrito en cualquier lenguaje que pueda leer la entrada/salida estándar y variables de ambiente. El servidor HTTP lanza elprograma CGI por cada requerimiento. El programa se ejecuta y retorna los resultados en formato HTML/HTTP hacia el servidor. El servidor a su vez retorna el resultado en el mismo formato hacia el browser.
Introducción
Clientes y Servidor HTTP usan MIME para la representación de datos para describir el contenido de los mensajes. Con HTTP/CGI y un ambiente de desarrollo se pueden desarrollar...
Regístrate para leer el documento completo.