SSI

De los comandos SSI, las páginas ASP sólo soportan el #include, aunque ciertamente se trata del más importante. Este comando es útil si tenemos código (bien sea HTML o ejecutable) que se va a repetir en distintas páginas web.

Por ejemplo, tenemos un pie de página común para todas nuestras páginas web. En lugar de escribir el código en todas ellas, creamos un archivo con el pie de página y lo incluimos en todas las páginas de nuestra web. No sólo ahorraremos trabajo, sino que si queremos modificar el pie de página, bastará con modificar un archivo y automáticamente se reflejará el cambio en toda la web.

En el caso del código de servidor, resulta muy útil crear bibliotecas de funciones que se puedan reutilizar más adelante. Una forma de reutilizar funciones es guardarlas en archivos e incluir estos cuando sea necesario. Esto es mucho mejor que copiar y pegar la función. Ahorra trabajo y al igual que antes, si realizamos una mejora en la función se reflejará en todo el código que la llame.

El Visual Basic Script es un lenguaje que no tiene facilidades de inclusión de código. Esto se puede suplir mediante este comando. Sin embargo, si se programa en PerlScript, se pueden utilizar las facilidades del lenguaje para incluir código de otros scripts o de bibliotecas mediante las palabras clave require o use.

Sintaxis

La sintaxis del comando tiene dos variantes:

<!--#include file="archivo.asp"-->

En la variante file hay que escribir la ruta del archivo relativa al directorio en el que se encuentra el ASP que se está ejecutando. En nuestro ejemplo, archivo.asp está en el mismo directorio que el ASP que lo incluye.

<!--#include virtual="/dirweb/archivo.asp"-->

En este caso se escribe la dirección web comenzando desde el raíz del servidor web. En nuestro ejemplo, estamos incluyendo el archivo cuya dirección web completa es www.midominio.com/dirweb/archivo.asp. Es decir, en el primer caso nos referimos a archivos según la estructura de directorios, y en el segundo, según la estructura de la web.

El archivo a incluir no tiene porqué ser un ASP, puede tener cualquier extensión. Si se trata de archivos que sólo están pensados para ser incluidos, es una buena práctica de programación el colocarles la extensión .inc.

El preprocesado de los #include es previo a la ejecución del script, por lo que no puede haber includes condicionados a sentencias if then. Hay que imaginarse que cada include es sustituido por el archivo completo y que entonces es cuando se procesa el código ASP.