1660893
Páginas: 5 (1231 palabras)
Publicado: 1 de abril de 2015
Common Gateway
Interface
(interfaz de pasarela común)
Gaspar Hernández
Estevan
Índice
•
•
•
•
•
•
•
•
•
Introducción
Cómo funciona
Independencia
Escribiendo un programa CGI.
Variables de entorno.
Establecimiento de la comunicación con el
cliente
Referenciar un CGI
Los formularios y CGI
Envío de información del servidor al CGI
Introducción a CGI
•Es
de las primeras formas deprogramación
web dinámica.
•El
CGI cambio la forma de manipular
información en el web. Antes: relación clienteservidor mediante plugins y limitada por la velocidad.
•Es
un método para la transmisión de
información hacia un compilador instalado
en el servidor.
Introducción a CGI
•FUNCIÓN
PRINCIPAL: Añadir una mayor interacción
a los documentos web (devuelve información
dinámica) que por medio del HTML(se presentan de
forma estática).
•Corre
•Uso:
en el servidor No depende del usuario.
contadores, bases de datos, motores
de búsqueda, formularios, generadores de
email automático, foros de discusión, chats,
comercio electrónico, rotadores y mapas de
imágenes, juegos en línea y otros.
Introducción a CGI
•El procesamiento puede hacerlo totalmente el CGI
(Procesamiento Directo).
•El CGIsirve de puente para otro programa con otro
propósito (Procesamiento Indirecto).
Como funciona
•
Funcionalidad de las paginas web que contengan
programación CGI:
•
Acción conjunta del Servidor Web y el programa
almacenado (script CGI).
•
Script CGI: Programa que se ejecuta en el
servidor en respuesta a una solicitud del usuario.
•
Lenguajes de programación: Basic, Java, C,
Perl...
•
•
•Deben leer los datos de la entrada estándar
Acceder a las variables de entorno
Escribir en la salida estándar.
Independencia
•
Independiente de:
•
•
•
Hardware
Software y SO.
Servidor
• No asume rutas
• No asume IPs
• No asume permisos.
Escribiendo un programa
CGI
•
Entrada estándar: stdin.
•
Salida estándar: stdout.
•
Se puede generar cualquier tipo de documento.
•
Toda salida delprograma CGI debe estar precedida por una
cabecera tipo MIME
•
Salida en formato visualizable por el navegador
(no siempre).
Escribiendo un programa
CGI
Cabecera
Línea
Separación
ContentType:text/html
#include
Int main(int argc, char *argv[])
{
Mi primer CGI
Cuerpo
printf(“Contenttype:texyt/html\n”);
printf(\n”);
printf(“\n\n”);
printf(“Miprimer CGI\n”);
printf(“\n\n”);
return 0;
}
Escribiendo un programa
CGI
Link a otra pagina web:
#include
Int main(int argc, char *argv[])
{
//…
printf(“Location: http://www.ua.es\n”);
printf(\n”);
//…
return 0;
}
VARIABLE DE
ENTORNO CGI
•
•
•
Transmiten datos acerca de una
petición de un servidor al CGI.
Variable sin valor o sin
definir=NULL.
Existen de 3 tipos:
•Especificas de servidor
• Especificas de cliente
• Especificas de la petición
VARIABLE DE ENTORNO CGI:
Especificas del
servidor
•Características del servidor:
•GATEWAY_INTERFACE. -versión del servidor (ej: CGI/1.1)
•SERVER_NAME.
-Nombre del servidor (ej: www.ua.es)
•SERVER_PORT.
petición
-Puerto del servidor donde se recibió la
(ej:80)
•SERVER_PROTOCOL.
(ej: HTTP/1.1)
-Nombre del protocolode petición
•SERVER_SOFTWARE. -Nombre del software del servidor
(ej:MicrosoftIIS/4.0)
VARIABLE DE ENTORNO CGI:
Especificas del cliente
•
Informacion sobre el navegador
•
•
•
•
•
HTTP_ACCEPT: image/gif, image/jpeg
HTTP_ACCEPT_ENCODING: gzip, deflate
HTTP_ACCEPT_LANGUAGE: es-ES, en, pdf
HTTP_REFERER: http://www.ua.es/index.html
HTTP_USER_AGENT: Mozilla/4.7 [en] (Win98; I)
VARIABLE DEENTORNO CGI:
Especificas de la
petición
•Información sobre la petición recibida:
•CONTENT_LENGTH-Tamaño en números decimales de octetos y
cualquier otra entidad adjunta
•PATH_INFO
-Ruta que debe interpretar una aplicación CGI
•QUERY_STRING
-Cadena de búsqueda URL-encoded.
•REMOTE_ADDR
-Dirección IP del agente que hace la petición
•REMOTE_HOST
-Nombre del dominio que realiza la petición...
Leer documento completo
Regístrate para leer el documento completo.