Filosofía general
- El CGI (Common Gateway Interface) es un método para permitir la interacción de programas ejecutables entre el cliente y el servidor.
- Los scripts (guiones) son grupos de instrucciones ejecutables localizados en el servidor y que pueden ser invocados desde HTTP.
- La ejecución del script en el servidor produce como resultado un proceso computacional cuyo producto es enviado al cliente también en protocolo HTTP.
- Cualquier lenguaje capaz de producir un ejecutable puede servir para redactar scripts (desde el lenguaje BATCH del DOS hasta Java).
Activación de los Scripts
- El proceso completo de activación de un script es el siguiente:
- Una etiqueta ancla que referencia a un script específico se activa en el cliente.
- Como cualquier otra URL referenciada, se la solicita al servidor, probablemente transmitiendo también algún tipo de parámetro modificador.
- El servidor recibe el reclamo, interpreta que el mismo establece una ruta hacia el script, y lo ejecuta con los parámetros recibidos.
- La ejecución del script produce algún tipo de resultado.
- El resultado es enviado al cliente en un formato que permite ser desplegado por el visualizador.
- La determinación de que el servicio reclamado es la ejecución de un script se basa principalmente en la ruta del archivo referenciado.
- Para evitar problemas de seguridad, normalmente los scripts accesibles se ubican en un subdirectorio cgi-bin del directorio del servidor.
- Permitir el acceso a cualquier ejecutable del servidor sería peligroso por el uso negligente o malintencionado.
Un ejemplo
Para poder consultar la hora en la máquina del server desde nuestra página, podemos incluír el siguiente ancla:
Contenido del archivo c:/../server/cgi-bin/hora.bat |
---|
echo Content-type: text/html echo "<HTML>" echo "<HEAD> La hora en Proveedor </HEAD>" echo "<BODY><H2>La hora es </H2>" echo "<PRE>" time echo "</PRE></BODY></HTML>" |
- La primer línea corresponde al descriptor MIME (Multipurpose Internet Mail Extensions), adoptado por HTTP como protocolo para transferir archivos que no sean texto llano.
- Si la respuesta del script fuese una imagen en jpg, entonces el descriptor debe ser
- El resto del script transmite el contenido de una página Web como si fuera un archivo.
Entorno de ejecución de los Scripts
Durante el pedido de activación de un script, en el proceso generado en la máquina cliente se actualizaron los valores de dos variables:
QUERY_STRING | Contiene los datos enviados como parámetros por el cliente, por ejemplo al llenar un formulario electrónico. |
REMOTE_ADDR | La dirección de IP del cliente. |
- Supongamos que confeccionamos una planilla para que quien acceda registre su nombre con algún propósito ulterior.
- El cliente completa el formulario y lo envía, transmitiéndose el query_string a continuación del URL del script (separado por un ?).
- El script debe estar en condiciones de extraer los parámetros necesarios del query-string.
Página anterior (Inclusión de Paneles).
Continuar (Inclusión de Formularios).
No hay comentarios.:
Publicar un comentario