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).

Copyright © hostingU.net Todos los derechos reservados.