| Código
independiente del servidor |
Escribiendo
su Código CGI Independiente del Servidor
Si
sus scripts contienen código dependiente del servidor
o sea código específico para un servidor, necesitará
re-escribirlo si alguna vez ha pensado en cambiarse de sitio a
un servidor WEB diferente. Una circunstancia así se daría
si usted decidiera cargar o descargar desde una cuenta de Plan
4 o de Alto Volumen ya que éstas están residentes
en servidores de alto volumen. Otra circunstancia podría
ser si usted alguna vez se decidiera a que otras cuentas rehuse
sus scripts o si se los da a otras personas. Deberá siempre
intentar escribir código que ejecute correctamente sin
importar qué servidor lo hace. Esto convierte al script
en algo extremadamente portátil y muy fácil de mantener.
La
clase más común de código independiente del
servidor es el que accede a los archivos o programas usando una
ruta absoluta (por ejemplo, "www26/web/some-identificador").
Use en cambio, la variable de entorno DOCUMENT_ROOT cuya sintaxis
en PERL es $ENV{DOCUMENT_ROOT} para determinar la ruta de sus
archivos o programas dentro de un script.
Por
ejemplo, si un script para el libro de invitados dice:
# Ruta
a su al archivo de libro de invitados
$guestbook = "/www23/web/examp9/data/guest.html";
Usted lo debe
cambiar
# Ruta
a su al archivo de libro de invitados
$guestbook = "$ENV{DOCUMENT_ROOT}/data/guest.html";
Si
está escribiendo scripts para que otros usen, además
de usted mismo, puede desear aprovechar la ventaja de muchas otras
variables de entorno que le permiten escribir código independiente
del servidor.
Otros
códigos independientes del servidor comúnmente usados
incluyen a:
- AUTH_TYPE
- Solo trabaja
si usted esta viendo una página protegida con contraseña.
En este caso esto es un tipo de autenticación.
- DOCUMENT_NAME
- El nombre
del archivo
- DOCUMENT_URI
- La URL
de este documento (su ruta y nombre de archivo)
- GATEWAY_INTERFACE
- El nombre
y el número de versión del software de la pasarela
que corre en el servidor (CG/1.1)
- HTTP_USER_AGENT
- El ‘agente
usuario’ o el navegador que el visitante está usando
(Mozilla/4.0)
- LAST_MODIFIED
- Fecha de
la ultima modificación del documento en curso (ej. Tue,
03 Mar 1998)
- PATH
- Las rutas
disponibles para el usuario "desconocido" del servidor
de WEB.
-
- REMOTE_USER
- Solo trabaja
si usted esta viendo una página protegida con contraseña.
En este caso esto es el "username"
- REQUEST_METHOD
- El método
mediante el cual el navegador de web del visitante recupera
las página. Los casos son GET y POST.
- REMOTE_HOST
- Nombre
traducido de máquina o de la del visitante.
- REMOTE_ADDR
- El número
IP de su máquina o de la del visitante.
-
- SCRIPT_NAME
- El nombre,
con su ruta, del script que corre, por ejemplo /www26/web/someid/somefile
- SERVER_SOFTWARE
- El nombre
del software del servidor de web que en el momento se ejecuta.
- SERVER_NAME
- Nombre
de la máquina, o mejor, el que la máquina cree
que tiene.
- SERVER_PORT
- Puerto
estándar http en el web
- SERVER_PROTOCOL
- Nombre
y número de versión del protocolo que corre en
este servidor (HTTP/1.0)
(Nota:
Si está escribiendo scripts o recetas para usar con procmail,
debe utilizar la variable de entorno HOME en lugar de DOCUMENT_ROOT.
Las variables de entorno CGI no están disponibles mientras
se ejecute bajo procmail).
|