stringtranslate.com

secuencias de comandos del lado del servidor

Las secuencias de comandos del lado del servidor son una técnica utilizada en el desarrollo web que implica el empleo de secuencias de comandos en un servidor web que produce una respuesta personalizada para la solicitud de cada usuario (cliente) al sitio web. Los scripts se pueden escribir en cualquiera de los numerosos lenguajes de scripting del lado del servidor que están disponibles (ver más abajo). Las secuencias de comandos del lado del servidor se distinguen de las secuencias de comandos del lado del cliente, donde las secuencias de comandos integradas, como JavaScript , se ejecutan en el lado del cliente en un navegador web , pero ambas técnicas a menudo se usan juntas. La alternativa a uno o ambos tipos de secuencias de comandos es que el propio servidor web entregue una página web estática .

Las secuencias de comandos del lado del servidor se utilizan a menudo para proporcionar una interfaz personalizada para el usuario. Estos scripts pueden reunir características del cliente para usarlas en la personalización de la respuesta en función de esas características, los requisitos del usuario, los derechos de acceso, etc. Los scripts del lado del servidor también permiten al propietario del sitio web ocultar el código fuente que genera la interfaz, mientras que, con el cliente En el lado de las secuencias de comandos, el usuario tiene acceso a todo el código recibido por el cliente. Una desventaja del uso de scripts del lado del servidor es que el cliente necesita realizar más solicitudes al servidor a través de la red para mostrar nueva información al usuario a través del navegador web. Estas solicitudes pueden ralentizar la experiencia del usuario, generar más carga en el servidor e impedir el uso de la aplicación cuando el usuario está desconectado del servidor.

Cuando el servidor proporciona datos de una manera comúnmente utilizada, por ejemplo, según los protocolos HTTP o FTP , los usuarios pueden elegir entre varios programas cliente (la mayoría de los navegadores web modernos pueden solicitar y recibir datos utilizando ambos protocolos). En el caso de aplicaciones más especializadas, los programadores pueden escribir su propio servidor, cliente y protocolo de comunicaciones, que sólo pueden utilizarse entre sí.

Los programas que se ejecutan en la computadora local de un usuario sin enviar ni recibir datos a través de una red no se consideran clientes y, por lo tanto, las operaciones de dichos programas no se considerarían operaciones del lado del cliente.

Historia

Netscape introdujo una implementación de JavaScript para secuencias de comandos del lado del servidor con Netscape Enterprise Server , lanzado por primera vez en diciembre de 1994 (poco después de lanzar JavaScript para navegadores). [1] [2]

Fred Dufresne utilizó posteriormente secuencias de comandos del lado del servidor a principios de 1995 mientras desarrollaba el primer sitio web para la estación de televisión WCVB de Boston, MA . La tecnología se describe en la patente estadounidense 5835712. La patente se emitió en 1998 y ahora es propiedad de Open Invention Network (OIN). En 2010, OIN nombró a Fred DuFresne "Inventor Distinguido" por su trabajo en secuencias de comandos del lado del servidor.

Explicación

En los primeros días de la web, las secuencias de comandos del lado del servidor se realizaban casi exclusivamente mediante el uso de una combinación de programas C , secuencias de comandos Perl y secuencias de comandos Shell utilizando la interfaz de puerta de enlace común (CGI). Esos scripts fueron ejecutados por el sistema operativo y el servidor web devolvió los resultados. Muchos servidores web modernos pueden ejecutar directamente lenguajes de secuencias de comandos en línea como ASP , JSP , Perl , PHP y Ruby , ya sea mediante el propio servidor web o mediante módulos de extensión (por ejemplo, mod_perl o mod_php ) al servidor web. Por ejemplo, WebDNA incluye su propio sistema de base de datos integrado. Cualquiera de las formas de secuencias de comandos (es decir, CGI o ejecución directa) se puede utilizar para crear sitios complejos de varias páginas, pero la ejecución directa generalmente resulta en menos gastos generales debido al menor número de llamadas a intérpretes externos.

Los sitios web dinámicos a veces utilizan servidores de aplicaciones web personalizados, como Glassfish , Plack y la biblioteca "Base HTTP Server" de Python , aunque es posible que algunos no consideren que se trate de secuencias de comandos del lado del servidor. Al utilizar técnicas dinámicas de secuencias de comandos basadas en web, los desarrolladores deben tener un profundo conocimiento de la separación lógica, temporal y física entre el cliente y el servidor. Para que la acción de un usuario desencadene la ejecución de código del lado del servidor, por ejemplo, un desarrollador que trabaja con ASP clásico debe provocar explícitamente que el navegador del usuario realice una solicitud al servidor web.

Los scripts del lado del servidor son procesados ​​completamente por los servidores en lugar de por los clientes. Cuando los clientes solicitan una página que contiene scripts del lado del servidor, el servidor de aplicaciones procesa los scripts y devuelve una página HTML al cliente.

Enfoques

Representación del lado del servidor

Al principio de la web, el contenido se generaba únicamente en el back-end. Después de la gran adopción de aplicaciones front-end de una sola página , se introdujo un nuevo enfoque para generar HTML utilizando la aplicación cliente, pero en el back-end. Ejemplos de marcos que utilizan SSR son Next.js , Nuxt.js y Nest.js. Usan React.js , Vue.js y Angular , respectivamente, para generar el contenido del servidor.

Generación del lado del servidor

La generación del lado del servidor, o SSG, es una alternativa a SSR. Con la representación del lado del servidor, la página generalmente se ensambla en el servidor una vez por cada solicitud. Por el contrario, con SSG, la aplicación genera todas las páginas HTML estáticas en el momento de la compilación. Estas páginas prediseñadas se envían al cliente en cada solicitud, sin tener que volver a crearlas. Esto conduce a tiempos de procesamiento más rápidos, ya que no es necesario generar una nueva página en cada solicitud; el servidor simplemente entrega un archivo que ya generó en el pasado. La desventaja es que cuando algunos datos de la página cambian, es necesario reconstruirlos.

La generación de archivos puede ocurrir en una computadora completamente diferente, por ejemplo mediante entrega continua . Ejemplos de herramientas SSG son Jekyll , Gatsby o Eleventy. Esos sitios suelen estar alojados en páginas de Netlify o GitHub . GitHub también admite proyectos Jekyll en los que crea automáticamente el sitio cuando se agregan cambios a git .

Idiomas

Hay varios lenguajes de secuencias de comandos del lado del servidor disponibles, que incluyen:

Ver también

Referencias

  1. ^ "Guía de JavaScript del lado del servidor". Corporación de Comunicaciones Netscape. 1998 . Consultado el 25 de abril de 2012 .
  2. ^ Mike Morgan (1996). "Uso de Netscape™ LiveWire™, edición especial". What.

enlaces externos