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 disponibles. 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 secuencias de comandos 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 hacer que el navegador del usuario haga una solicitud explícita 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.

Representación del lado del servidor

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

Una alternativa al renderizado del lado del servidor es la generación de sitios estáticos . 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 la generación de sitios estáticos, 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. Ejemplos de herramientas de generación de sitios estáticos son Jekyll y Gatsby . Los sitios generados por herramientas de generación de sitios estáticos suelen estar alojados en páginas de Netlify o GitHub .

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