Server Side Includes
# Server Side Includes

Server Side Includes (SSI) es un conjunto de directivas que se escriben en las páginas HTML y que se evalúan en el servidor web cuando se solicita la página HTML. SSI permite añadir contenido generado de forma dinámica a las páginas web, sin tener que programar toda la página mediante CGI, ASP, PHP o alguna tecnología similar.

El SSI no se encuentra estandarizado por ningún organismo, así que cada desarrollador de software de servidores web es libre de incluir e interpretar estas directivas como mejor le parezca. Por tanto, lo más recomendable es consultar la documentación del servidor web para averiguar qué directivas reconoce y con qué sintaxis.

## Directivas

### Directivas más usuales

| Directiva | Parámetros | Descripción | Ejemplo |
| - | - | - | - |
| include | file, direct o virtual | Esta es probablemente la directiva más empleada, ya que permite incluir en un documento el contenido de otro documento. El parámetro file o virtual indica el archivo (HTML page, text file, script, etc.) que se desea incluir. El parámetro file indica que la ruta del archivo a incluir es relativa a la ruta del documento actual; el parámetro virtual indica que la ruta del archivo a incluir es relativa a la raíz de la ruta del documento actual. | <!--#include virtual="header.html" --> o <!--#include file="footer.html" --> |
| exec | cgi o cmd | Esta directiva ejecuta un programa, script o comando del sistema operativo. | <!--#exec cgi="/cgi-bin/foo.cgi" --> o <!--#exec cmd="ls -l" --> |
| echo | var | Esta directiva muestra el contenido de la variable de entorno especificada, como por ejemplo HTTP_USER_AGENT, LAST_MODIFIED y HTTP_ACCEPT. | <!--#echo var="REMOTE_ADDR" --> |
| config | timefmt, sizefmt o errmsg | Esta directiva configura el formato de visualización de las fechas, de las horas, del tamaño de los ficheros y de los mensajes de error (devueltos cuando una directiva SSI falla). | <!--#config timefmt="%y %m %d" --> o <!--#config sizefmt="bytes" --> o <!--#config errmsg="<b>El comando SSI ha fallado</b>" --> |
| flastmod | file o virtual | Esta directiva muestra la fecha cuando el documento especificado fue modificado por última vez. | <!--#flastmod virtual="index.html" --> |
| fsize | file o virtual | Esta directiva muestra el tamaño del documento. | <!--#fsize file="script.pl" --> |
| printenv | | Esta directiva muestra una lista de todas las variables de entorno con sus respectivos valores. | <!--#printenv --> |

## Bibliografía

* Sergio Luján Mora (2001). Programación de servidores web con CGI, SSI e IDC (libro completo gratuito en pdf) (1ª edición). Editorial Club Universitario.
