stringtranslate.com

El lado del servidor incluye

Server Side Incluye ( SSI ) es un lenguaje de secuencias de comandos del lado del servidor interpretado y sencillo que se utiliza casi exclusivamente para la World Wide Web . Es más útil para incluir el contenido de uno o más archivos en una página web en un servidor web (ver más abajo), usando su #includedirectiva. Por lo general, esto podría ser un fragmento de código común en todo un sitio, como un encabezado de página, un pie de página y un menú de navegación. SSI también contiene directivas de control para funciones condicionales y directivas para llamar a programas externos. Es compatible con Apache , LiteSpeed , nginx , IIS y Jigsaw del W3C . [1] Tiene sus raíces en NCSA HTTPd . [2]

Para que un servidor web reconozca un archivo HTML habilitado para SSI y, por lo tanto, lleve a cabo estas instrucciones, el nombre del archivo debe terminar con una extensión especial , de forma predeterminada .shtml, .stm, .shtmo, si el servidor está configurado para permitir esto, configure la ejecución. poco del archivo. [3]

Diseño

Como lenguaje de programación simple, SSI solo admite un tipo : texto. Su flujo de control es bastante simple, se admite la elección, pero los bucles no se admiten de forma nativa y solo se pueden realizar mediante recursividad mediante inclusión o redireccionamiento HTTP . [a] El diseño simple del lenguaje hace que sea más fácil de aprender y usar que la mayoría de los lenguajes de secuencias de comandos del lado del servidor, mientras que el procesamiento complicado del lado del servidor a menudo se realiza con uno de los lenguajes de programación con más funciones . "SSI es Turing completo ". [4]

SSI tiene una sintaxis simple: <!--#directive parameter=value parameter=value -->. Las directivas se colocan en los comentarios HTML de modo que si SSI no está habilitado, los usuarios no verán las directivas SSI en la página, a menos que consulten su fuente. Tenga en cuenta que la sintaxis no permite espacios entre el "<!--" inicial y la directiva. El tutorial de Apache sobre SSI estipula que el formato requiere un carácter de espacio antes del "-->" que cierra el elemento. [5]

Ejemplos

Una página web que contenga una cotización diaria podría incluir la cotización colocando el siguiente código en el archivo de la página web:

<!--#include virtual="../quote.txt" -->

Con un cambio del quote.txtarchivo, todas las páginas que incluyen el archivo mostrarán la última cotización diaria. La inclusión no se limita a archivos y también puede ser la salida de texto de un programa o el valor de una variable del sistema, como la hora actual.

Directivas

Común

Las siguientes son directivas SSI de la época de NCSA HTTPd (década de 1990). [2] Algunas implementaciones no las admiten todas. [6]

Directivas de control

Posteriormente se agregan directivas de control a SSI. Incluyen el omnipresente control de flujo if-elif-else-endif y escritura variable, así como características más exóticas como bucles que solo se encuentran en algunas implementaciones.

Ver también

Notas

  1. ^ Sin embargo, se encuentra en algunas implementaciones, incluido Jigsaw.

Referencias

  1. ^ ab "Comandos SSI". W3C . Consultado el 24 de marzo de 2019 .
  2. ^ abc "El lado del servidor incluye (SSI)". Tutorial NCSA HTTPd . Archivado desde el original el 3 de marzo de 1997 . Consultado el 24 de marzo de 2019 .
  3. ^ "Configurar su servidor para permitir SSI". Tutorial de Apache: Introducción a las inclusiones del lado del servidor . La Fundación de Software Apache . Consultado el 24 de junio de 2015 .
  4. ^ "El lado del servidor incluye la máquina de Turing, Jan Schejbal". Janschejbal.de . Consultado el 6 de diciembre de 2012 .
  5. ^ "Directivas y sintaxis básicas de SSI". 2018-02-09 . Consultado el 9 de febrero de 2018 .
  6. ^ "Módulo ngx_http_ssi_module". documentación de nginx . Consultado el 16 de noviembre de 2021 .
  7. ^ ab "Módulo Apache mod_include". Documentación del servidor Apache HTTP versión 2.4 . Fundación de software Apache . Consultado el 7 de septiembre de 2021 .
  8. ^ abc "mod_include". Servidor HTTP Apache . Consultado el 25 de marzo de 2019 .
  9. ^ "ngx_http_ssi_module". nginx.org . Consultado el 25 de marzo de 2019 .

enlaces externos