CGI es una interfaz.
El Common Gateway Interface (CGI) provee una manera de asegurar el envio de datos entre el servidor de páginas web y programas dentro del sistema operativo.
El programa dentro del sistema operativo tiene que:
1) Poder leer variables de entorno del sistema operativo.
2) Poder tomar argumentos.
3) Devolver datos y especificar el tipo de datos que se esta devolviendo mediante STDOUT (o sea, la salida estándar. En los sistemas basados en unix hay 2 salidas, estándar y de errores. En los sistemas basados en MS-DOS/Windows, no existe esta distinción.).
Todo muy teórico, veamos un ejemplo:
Si estamos en D.O.S. Podemos hacer un "programa" .bat que tome un parámetro y devuelva determinado texto basado en el parámetro. Hagamos un archivo llamado a.bat:
Código:
@echo off
if "%1" == "" goto nada
if "%1" == "hola" goto hola
if "%1" == "chau" goto chau
echo No entendi lo que dijiste.
goto salir
:hola
echo Hola!!!!
goto salir
:chau
echo Chau :(
goto salir
:nada
echo No me dijiste que hacer.
:salir
es un "programa" simple que si lo ejecuto (en una ventana dos) me responde de diversas maneras.
Código:
C:\>a
No me dijiste que hacer.
C:\>a hola
Hola!!!!
C:\>a chau
Chau :(
C:\>a aaa
No entendi lo que dijiste.
C:\>_
Este programa toma parámetros (uno en este caso, que puede ser "hola" o "chau", caso contrario se avisa que no se entendió el pedido).
La interfaz CGI se encarga de pasar los parámetros que se enviaron a traves del navegador al programa que reside dentro del sistema operativo.
supongamos que quiero hacer que mi "programa" .bat sirva para ser utilizado en la web.
[SIGUE]