stringtranslate.com

El lado del servidor incluye

Server Side Includes ( SSI ) es un lenguaje de programación del lado del servidor interpretado y simple que se utiliza casi exclusivamente para la World Wide Web . Es muy útil para incluir el contenido de uno o más archivos en una página web en un servidor web (ver más abajo), utilizando su #includedirectiva. Esto podría ser comúnmente 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 de 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 manera predeterminada .shtml, .stm, .shtmo, si el servidor está configurado para permitir esto, establecer el bit de ejecución 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 recursión utilizando include o utilizando HTTP redirect . [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 script 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 código 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 cita diaria podría incluir la cita colocando el siguiente código en el archivo de la página web:

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

Con un solo cambio de quote.txtarchivo, todas las páginas que lo incluyan mostrarán la última cotización diaria. La inclusión no se limita a los archivos, sino que también puede incluir el texto de salida 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 agregaron directivas de control a SSI. Entre ellas se incluyen el control de flujo if-elif-else-endif y la escritura de variables, así como funciones más exóticas, como bucles, que solo se encuentran en algunas implementaciones.

Véase también

Notas

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

Referencias

  1. ^ ab "Comandos SSI". W3C . Consultado el 24 de marzo de 2019 .
  2. ^ abc "Server Side Includes (SSI)". Tutorial de HTTPd de NCSA . Archivado desde el original el 3 de marzo de 1997. Consultado el 24 de marzo de 2019 .
  3. ^ "Configuración del servidor para permitir SSI". Tutorial de Apache: Introducción a Server Side Includes . The Apache Software Foundation . Consultado el 24 de junio de 2015 .
  4. ^ "Máquina de Turing Server Side Includes, Jan Schejbal". Janschejbal.de . Consultado el 6 de diciembre de 2012 .
  5. ^ "Directivas y sintaxis básicas de SSI". 2018-02-09 . Consultado el 2018-02-09 .
  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 de la versión 2.4 del servidor HTTP Apache . Apache Software Foundation . 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