Next: Instalando un Script CGI
Up: Programación en WWW usando
Previous: Un Formulario Ejemplo
  Índice General
Como ya hemos introducido anteriormente, existen dos métodos de enviar
la información recogida por el formulario al servidor: GET y
POST. Básicamente funcionan de la misma manera, y la diferencia
estriba en el modo de leer la cadena de elementos nombre=valor.
Así, GET la obtiene de la variable de ambiente QUERY_STRING, mientras que POST lo hace de la entrada estándar.
Luego ambos debe decodificar la entrada (que esta codificada URL) y
trabajar con la información así obtenida. Existen multitud de
funciones en la red que nos ayudan a hacer todo esto, escritas en
diferentes lenguajes, así que no es necesario que lo programemos
nosotros. En las referencias bibliográficas se pueden encontrar varios
ejemplos de esas funciones. Un ejemplo de ellas en el lenguaje C se
puede ver en el Apéndice B.
Existe otro método por el que se complementa la información que el
servidor Web pasa al script CGI y que hemos mencionado vagamente:
las variables de entorno,
que son parámetros que habitualmente toman la forma de variables de
entorno del Sistema Operativo. De entre ellas se pueden destacar las
siguientes:
- AUTH_TYPE el método de autentificación utilizado para
validar al usuario, si el servidor soporta la autentificación de
usuarios.
- CONTENT_LENGTH la longitud de la información mandada por
el cliente.
- CONTENT_TYPE el tipo de información asociada a las consultas.
- GATEWAY_INTERFACE la revisión de la especificación
CGI que soporta el servidor, con el formato CGI/revisión.
- PATH_INFO la información asociada al path virtual,
tal cual es dada por el cliente, y que es decodificada por el servidor.
- PATH_TRANSLATED el path físico obtenido a partir del
PATH_INFO.
- QUERY_STRING la información que sigue a la '?' en el URL.
- REMOTE_ADDR la dirección IP del host remoto que
realiza la petición.
- REMOTE_IDENT el nombre de usuario remoto, si el servidor
HTTP soporta la identificación RFC 931.
- REMOTE_USER el nombre de usuario autentificado si el
script CGI está protegido y el servidor soporta autentificación de
usuarios.
- REQUEST_METHOD el método mediante el cual se hizo la
petición. Para HTTP será GET, HEAD, POST, etc.
- SCRIPT_NAME el path virtual del programa que se esta
ejecutando.
- SERVER_NAME el nombre de host del servidor, alias DNS,
o dirección IP.
- SERVER_PORT el número de puerto al que fue mandada la
petición.
- SERVER_PROTOCOL el nombre y revisión del protocolo
utilizado para esta petición.
- SERVER_SOFTWARE el nombre y revisión del software del
servidor que responde a la petición.
Ambos métodos, GET y POST tienen en común que su salida
estándar está conectada con el
cliente que hizo la petición. De modo que para que el resultado de la
ejecución de un script CGI sea recibido por el cliente que realizó
la petición, el programa debe generar un documento HTML y escribirlo
en su salida estándar. El servidor WWW se encargará de redirigirlo al
cliente como respuesta a su petición.
Next: Instalando un Script CGI
Up: Programación en WWW usando
Previous: Un Formulario Ejemplo
  Índice General
Jesús Vegas
2003-03-13