Articulo de referencia

Programación del lado del servidor

La programación del lado del servidor es una técnica utilizada en el desarrollo web que consiste en emplear scripts en un servidor web para generar una respuesta personalizada a...

La programación del lado del servidor es una técnica utilizada en el desarrollo web que consiste en emplear scripts en un servidor web para generar una respuesta personalizada a la solicitud de cada usuario (cliente) al sitio web. Los scripts se pueden escribir en cualquiera de los lenguajes de programación del lado del servidor disponibles. La programación del lado del servidor se distingue de la programación del lado del cliente, donde los scripts integrados, como JavaScript, se ejecutan en el navegador del cliente; sin embargo, ambas técnicas se suelen utilizar conjuntamente. La alternativa a uno o ambos tipos de programación es que el propio servidor web genere una página web estática.

La programación del lado del servidor se utiliza a menudo para proporcionar una interfaz personalizada al usuario . Estos scripts pueden recopilar características del cliente para personalizar la respuesta en función de dichas características, los requisitos del usuario, los derechos de acceso, etc. La programación del lado del servidor también permite al propietario del sitio web ocultar el código fuente que genera la interfaz, mientras que, con la programación del lado del cliente, el usuario tiene acceso a todo el código recibido por el cliente. Una desventaja del uso de la programación del lado del servidor es que el cliente necesita realizar solicitudes adicionales a través de la red al servidor para mostrar nueva información al usuario a través del navegador web . [ 1 ] Estas solicitudes pueden ralentizar la experiencia del usuario, aumentar la carga del servidor e impedir el uso de la aplicación cuando el usuario se desconecta del servidor.

Cuando el servidor proporciona datos de forma habitual, por ejemplo, mediante 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 desarrollar su propio servidor, cliente y protocolo de comunicación, que solo pueden utilizarse entre sí.

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

Historia

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

La programación del lado del servidor fue utilizada a principios de 1996 por Fred Dufresne durante el desarrollo del primer sitio web de la estación de televisión WCVB de Boston, Massachusetts . Esta tecnología se describe en la patente estadounidense 5835712, archivada el 25 de febrero de 2020 en Wayback Machine . La patente se emitió en 1998 y actualmente pertenece a Open Invention Network (OIN). En 2010, OIN nombró a Fred Dufresne "Inventor Distinguido" por su trabajo en programación del lado del servidor.

Explicación

En los inicios de la web, la programación del lado del servidor se realizaba casi exclusivamente mediante una combinación de programas en C , scripts de Perl y scripts de shell que utilizaban la Interfaz de Puerta de Enlace Común (CGI). Estos scripts eran ejecutados por el sistema operativo y los resultados eran devueltos por el servidor web . Muchos servidores web modernos pueden ejecutar directamente lenguajes de programación en línea como ASP , JSP , Perl , PHP y Ruby, ya sea mediante el propio servidor web o a través de módulos de extensión (por ejemplo, mod_perl o mod_php ). Por ejemplo, WebDNA incluye su propio sistema de base de datos integrado. Cualquiera de las dos formas de programación (CGI o ejecución directa) puede utilizarse para crear sitios web complejos de varias páginas, pero la ejecución directa suele generar menos sobrecarga 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 algunos no lo consideren programación del lado del servidor. Al usar técnicas de programación web dinámica, los desarrolladores deben comprender a fondo la separación lógica, temporal y física entre el cliente y el servidor. Por ejemplo, para que la acción del usuario active la ejecución de código del lado del servidor, un desarrollador que trabaje con ASP clásico debe hacer que el navegador del usuario envíe 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.

Renderizado del lado del servidor

Con la llegada de las aplicaciones de una sola página , se introdujo un enfoque actualizado para la programación del lado del servidor, conocido como renderizado del lado del servidor. Con el renderizado del lado del servidor, se puede enviar HTML estático del servidor al cliente, y JavaScript del lado del cliente hace que la página web sea dinámica al adjuntar controladores de eventos a los elementos HTML en un proceso llamado hidratación . Ejemplos de frameworks que admiten el renderizado del lado del servidor son Next.js , Nuxt.js y Angular .

Una alternativa al renderizado del lado del servidor es la generación de sitios estáticos . Con el renderizado del lado del servidor, la página generalmente se genera en el servidor una vez por cada solicitud. En cambio, con la generación de sitios estáticos, la aplicación genera todas las páginas HTML estáticas durante la compilación. Estas páginas pregeneradas se envían al cliente con cada solicitud, sin necesidad de generarlas de nuevo. Esto resulta en tiempos de renderizado más rápidos, ya que no es necesario generar una página nueva en cada solicitud; el servidor simplemente entrega un archivo que ya generó previamente. La desventaja es que cuando cambian algunos datos en la página, esta debe reconstruirse. Ejemplos de herramientas de generación de sitios estáticos son Jekyll y Gatsby . Los sitios generados por estas herramientas suelen alojarse en Netlify , Vercel o GitHub Pages.

Véase también

Referencias

  1. ^ "¿Qué significan lado del cliente y lado del servidor? Lado del cliente vs. lado del servidor" . Cloudflare . Consultado el 17 de abril de 2025 .
  2. ^ "Guía de JavaScript del lado del servidor" . Netscape Communications Corporation. 1998. Consultado el 25 de abril de 2012 .
  3. ^ Mike Morgan (1996). "Using Netscape™ LiveWire™, Special Edition" . Que. Archivado del original el 21/12/2012 . Recuperado el 02/05/2013 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Server-side_scripting&oldid=1335202870 "