¿Qué es la secuencia de comandos del lado del servidor?

La secuencia de comandos del lado del servidor es un término que se utiliza principalmente con respecto al servicio de contenido personalizado a través del protocolo de transferencia de hipertexto (HTTP) en un servidor web haciendo que el servidor ejecute pequeños programas. Estos programas, generalmente escritos en un lenguaje de programación, son ejecutados por el servidor cuando llega una solicitud del cliente. Dependiendo de los parámetros dados por el cliente en el momento de la solicitud, el script genera una página web para el cliente. Las páginas web creadas de esta manera a menudo se denominan páginas dinámicas. Esto contrasta con un script del lado del cliente que se envía desde el servidor al cliente solicitante y luego se ejecuta.

Las primeras técnicas de scripting del lado del servidor surgieron para entregar contenido que es exclusivo del usuario que realiza la solicitud, así como para ahorrar tiempo al reducir la edición manual de los documentos del lenguaje de marcado de hipertexto (HTML). Los scripts del lado del servidor a menudo eran pequeños archivos ejecutables que contenían una serie de comandos para pasar al sistema operativo. El demonio web, el software que ejecuta el servidor web, utilizaría estos scripts de shell para ejecutar un programa adicional que reside en la computadora host. Esta técnica general se definió en 1993 en el estándar de interfaz de puerta de enlace común (CGI) desarrollado por el Grupo de trabajo de ingeniería de Internet (IETF). En la mayoría de los casos, estos primeros scripts CGI se utilizaron para enviar respuestas de la base de datos desde el servidor al cliente solicitante.

A medida que se desarrollaron los lenguajes de scripting interpretados, como Perl y PHP: preprocesador de hipertexto (PHP), también evolucionaron los métodos de scripting del lado del servidor. Los demonios HTTP se actualizaron para incluir extensiones de uso que permitían que estos diversos lenguajes de secuencias de comandos se llamaran desde el demonio web en sí, en lugar de pasar al sistema operativo en el host. Con esta adición, se podrían incluir fragmentos de lenguaje de secuencias de comandos dentro del documento HTML. A medida que el servidor web lee un documento antes de enviarlo a través de la web, busca y ejecuta cualquier script dentro del documento.

Dado que el contenido llamado por secuencias de comandos del lado del servidor reside en una base de datos, puede ser prácticamente cualquier cosa. El contenido como descripciones de productos, variaciones de precios, entradas de blogs, imágenes e incluso el formato se almacena en la base de datos. También es posible anidar un fragmento de script del lado del servidor dentro de otro, donde el primer script toma ciertos datos de la base de datos, pero también llama a un segundo script que accede a datos secundarios. Esto es útil, por ejemplo, cuando se entrega contenido estándar bastante personalizado con contenido adicional anidado que puede ser urgente o aún desconocido, como comentarios en una entrada de weblog. El mantenimiento del sitio web, entonces, implica la actualización de datos en la base de datos, que luego afectará a todas las páginas del sitio web con el script incluido para llamar a esos datos.

Muchas de las técnicas de secuencias de comandos del lado del servidor se han desarrollado aún más en lo que se conoce como sistemas de gestión de contenido (CMS). PHP es probablemente el lenguaje más utilizado para este propósito, y se ejecuta en el núcleo de muchas implementaciones de CMS. Aquí, un usuario que opera un sitio web que se ejecuta en un CMS editará sus documentos HTML para incluir lo que se denominan etiquetas. Las etiquetas son esencialmente señales para que el CMS le diga qué script incluir en el documento. Luego, el CMS se puede personalizar creando scripts adicionales y sus etiquetas asociadas.