¿Qué son las Server Side Includes?
||newline||||newline|| Las Server Side Includes (SSI) son comentarios especiales||newline|| dentro de paginas HTML que, cuando son leídas por el servidor realizan ||newline|| acciones especiales. Estas acciones van desde incluir un pedazo de HTML hasta||newline|| ejecutar un programa e incluir el resultado dentro de la página.||newline||
||newline|| ||newline||||newline|| En la mayoría de los servidores corriendo||newline|| Apache||newline|| los archivos que contienen SSI tienen que tener extensión .shtml en vez||newline|| de sólo .html.||newline||
||newline|| ||newline||||newline|| Las SSI eran una de las armas más importantes en el arsenal de||newline|| cualquier persona que escribía código HTML. Si tu ISP te ofrece ||newline|| SSI, tienes en tus manos una verdadera varita mágica. (Si no, simpre ||newline|| puedes contratar a alguien||newline|| que si te las ofrezca :). Este documento te enseñará cómo usar esa varita ||newline|| para hacer trucos maravillosos.||newline||
||newline|| ||newline|| ||newline||El formato de las SSI
||newline|| ||newline||||newline|| Todas las directrices al servidor están disfrazadas||newline|| como un comentario de HTML, esto es por si llegara a fallar la ||newline|| lectura del servidor. Toda directriz tiene el siguiente formato:||newline||
||newline|| ||newline||||newline|| <!--#comando arg1="valor1" arg2="valor2" -->||newline||
||newline|| ||newline|| Cada comando toma diferentes argumentos y la mayoría de las veces sólo||newline|| uno a la vez. A continuación se presenta una relación de los comandos y||newline|| sus argumentos:||newline||
||newline|| ||newline|| ||newline||- ||newline||
- ||newline||
||newline|| config: config controla varios ||newline|| aspectos del análisis sintáctico. Tiene tres argumentos válidos:||newline|| ||newline||
- ||newline||
- errmsg||newline|| controla el mesaje que se manda al usuario si ocurre||newline|| un error al analizar la directriz. Cuando ocurre un error, se ||newline|| apunta en la bitácora de errores del servidor.||newline|| ||newline|| ||newline||
- timefmt||newline|| maneja la manera en que el servidor ordena las||newline|| fechas. Es compatible con la librería de strftime en UNIX.||newline|| ||newline|| ||newline||
- sizefmt||newline|| determina el formato al mostrar el tamaño de un||newline|| archivo. Las opciones incluyen bytes||newline|| para un formato del tipo 1,234,567, o abbrev||newline|| para mostrar los resultados en kilobytes o megabytes. ||newline|| ||newline||
||newline|| ||newline|| - ||newline||
||newline|| include:||newline|| Esta directriz inserta el texto de otro archivo en el documento||newline|| actual. Todo archivo está sujeto a los permisos de lectura comunes. Esta||newline|| directriz acepta dos argumentos:||newline||
- ||newline||
- virtual||newline|| indica el path a un documento en el servidor. El path||newline|| es referente al directorio raíz del servidor de web. La barra de||newline|| navegación a la izquierda arriba de este documento está incluida ||newline|| de esta manera.||newline|| ||newline|| ||newline||
- ||newline|| file:||newline|| recibe un nombre de archivo relativo al directorio del||newline|| documento y inserta su contenido en vez del include. La expresión "../"||newline|| no puede ser usada en el archivo ni tampoco paths absolutos.||newline|| ||newline||
||newline|| ||newline|| ||newline|| - ||newline||
||newline|| echo: echo inserta el valor||newline|| de algunas de las variables SSI (ver abajo). Todas las fechas puestas||newline|| de esta manera están sujetas a la configuración dada por config o timefmt.||newline||
||newline|| ||newline|| - ||newline||
||newline|| timefmt: El único argumento válido ||newline|| para este comando es var que toma ||newline|| como valor el nombre de la variable que echo va a sacar.||newline||
||newline|| ||newline|| ||newline|| ||newline|| - ||newline||
fsize: fsize saca el tamaño||newline|| del archivo especificado. Los argumentos son los mismos que para||newline|| include. El formato de este comando es determinado por el parámetro||newline|| sizefmt en el comando config.||newline||
||newline|| ||newline|| ||newline|| - ||newline||
||newline|| flastmod: flastmod inserta||newline|| en el documento la fecha de última modificación de un archivo||newline|| controlado por timefmt en config.||newline|| Los tags son los mismos que para include.||newline||
||newline|| ||newline|| - ||newline||
exec: exec ejecuta un comando en||newline|| el shell de UNIX o un programa de CGI. Los argumentos son:||newline||
||newline||- ||newline||
- ||newline|| cmd ejecuta lo que ||newline|| se ponga usando /bin/sh. Todas las variables indicadas abajo ||newline|| pueden ser usadas en este comando.||newline|| ||newline|| ||newline||
- ||newline|| ||newline|| cgi: ejecuta el path virtual ||newline|| dado e incluye su salida en la página. El servidor no checa ||newline|| si insertas algo como un GIF así es que se cauteloso. Lo que ||newline|| sí, hace es interpretar encabezados de HTTP||newline|| ||newline|| ||newline||
Location: [URL]
||newline|| ||newline||
||newline||
Variables de Ambiente de SSI
||newline|| ||newline||||newline|| Puedes incluir varias variables en documentos que contienen Server Side||newline|| Includes. Ademas de las variables de CGI, éstas son||newline|| especiales para SSI:||newline||
||newline|| ||newline||- ||newline||
- ||newline|| DOCUMENT_NAME: El nombre del archivo donde esta la directriz.||newline|| ||newline|| ||newline||
- ||newline|| DOCUMENT_URI: El path virtual al documento (como /foo/bar.shtml).||newline|| ||newline|| ||newline||
- ||newline|| QUERY_STRING_UNESCAPED: ||newline|| La query string que viene después de una ? en un URL (como en||newline|| /bar.shtml?datos=unos%20datos ).||newline|| ||newline|| ||newline|| ||newline||
- ||newline|| ||newline|| DATE_LOCAL: La fecha actual en la zona horaria donde está el servidor.||newline|| Puede ser modificada por timefmt en el comando config.||newline|| ||newline|| ||newline||
- ||newline|| ||newline|| DATE_GMT: Lo mismo que DATE_LOCAL pero en la zona del meridiano de ||newline|| Greenwich. ||newline|| ||newline|| ||newline||
- ||newline|| ||newline|| LAST_MODIFIED: La fecha de última modificación del documento. Sujeto a||newline|| tmfmt al igual que las otras fechas.||newline|| ||newline|| ||newline||
||newline|| Y hasta aquí llega este pequeño tutorial. Esperamos que sea útil porque||newline|| los Server Side Includes son una de las herramientas más importantes en el mundo ||newline|| de la WWW.||newline||
||newline|| ||newline|| ||newline||||newline||