
Una página web dinámica es una página web que se construye en tiempo de ejecución (durante la ejecución del software ), a diferencia de una página web estática , que se entrega tal como se almacena.
Una página web dinámica del lado del servidor es una página web cuya construcción está controlada por un servidor de aplicaciones que procesa scripts del lado del servidor. [ 1 ] En la programación del lado del servidor , los parámetros determinan cómo procede el ensamblaje de cada nueva página web , incluyendo la configuración de más procesamiento del lado del cliente.
Una página web dinámica del lado del cliente procesa la página web mediante JavaScript, que se ejecuta en el navegador mientras se carga. JavaScript puede interactuar con la página a través del Modelo de Objetos del Documento (DOM) para consultar su estado y modificarlo. Aunque una página web puede ser dinámica del lado del cliente, también puede alojarse en un servicio de alojamiento estático como GitHub Pages o Amazon S3, siempre que no incluya código del lado del servidor.
Una página web dinámica se recarga mediante el usuario o un programa informático para modificar algún contenido variable. La información de actualización puede provenir del servidor o de cambios realizados en el DOM de la página. Esto puede o no truncar el historial de navegación o crear una versión guardada a la que regresar, pero una actualización de una página web dinámica mediante tecnologías AJAX no crea una página a la que regresar ni trunca el historial de navegación web posterior a la página mostrada. Mediante AJAX, el usuario final obtiene una página dinámica gestionada como una sola página en el navegador web, aunque el contenido web real que se muestra en ella puede variar. El motor AJAX reside únicamente en el navegador, solicitando partes de su DOM ( el DOM del cliente) a un servidor de aplicaciones. Un servidor de aplicaciones específico podría ofrecer una interfaz estandarizada de estilo REST para proporcionar servicios a la aplicación web. [ 2 ]
DHTML es el término general que engloba las tecnologías y los métodos utilizados para crear páginas web dinámicas , aunque su uso ha caído en desuso desde la popularización de AJAX, término que, a su vez, ahora se utiliza con poca frecuencia. La programación del lado del cliente, la programación del lado del servidor o una combinación de ambas dan lugar a la experiencia web dinámica en un navegador.
Conceptos básicos
La navegación hipertextual clásica , utilizando únicamente HTML o XHTML , proporciona contenido "estático", lo que significa que el usuario solicita una página web y simplemente visualiza la página y la información que contiene.
Sin embargo, una página web también puede ofrecer una experiencia de usuario "en vivo", "dinámica" o "interactiva". El contenido (texto, imágenes, campos de formulario, etc.) de una página web puede cambiar en respuesta a diferentes contextos o condiciones.
Hay dos maneras de crear este tipo de efecto:
- Utilizar scripts del lado del cliente para cambiar el comportamiento de la interfaz dentro de una página web específica , en respuesta a acciones del ratón o del teclado, datos recibidos de una API web , un websocket o en eventos de tiempo específicos. En este caso, el comportamiento dinámico ocurre dentro de la presentación .
- Utilizar scripts del lado del servidor para cambiar el código fuente de la página proporcionada entre páginas, ajustando la secuencia o recarga de las páginas web o el contenido web proporcionado al navegador. Las respuestas del servidor pueden estar determinadas por condiciones tales como datos en un formulario HTML enviado , parámetros en la URL , el tipo de navegador que se está utilizando, el paso del tiempo o el estado de una base de datos o servidor . [ 3 ]
Las páginas web que utilizan scripting del lado del cliente deben emplear una tecnología de presentación conocida como páginas con interfaz enriquecida (RIP ). Los lenguajes de scripting del lado del cliente , como JavaScript o ActionScript , utilizados para las tecnologías DHTML ( Dynamic HTML ) y Flash respectivamente, se emplean frecuentemente para gestionar los diferentes tipos de contenido multimedia (sonido, animaciones, texto variable, etc.) de la presentación. El scripting también permite el uso de scripting remoto , una técnica mediante la cual la página DHTML solicita información adicional a un servidor, utilizando un Frame oculto , XMLHttpRequests o un servicio web . Asimismo, es posible utilizar un framework web para crear una API web , que el cliente, mediante JavaScript, utiliza para obtener datos y modificar su apariencia o comportamiento dinámicamente en función de dichos datos.
Las páginas web que utilizan secuencias de comandos del lado del servidor suelen crearse con lenguajes como PHP , Perl , ASP , JSP , ColdFusion y otros. Estos lenguajes suelen usar la Interfaz de Puerta de Enlace Común (CGI) para generar páginas web dinámicas . En el lado del cliente, también pueden usar DHTML.
Historia
Es difícil precisar los orígenes o la cronología de las páginas web dinámicas, ya que el concepto exacto solo cobra sentido tras el desarrollo generalizado de las páginas web. HTTP existe desde 1989, y HTML se estandarizó públicamente en 1996. El auge de los navegadores web comenzó con Mosaic en 1993. Entre 1995 y 1996, se introdujeron en el mercado múltiples productos web dinámicos, como Coldfusion , WebObjects , PHP y Active Server Pages .
La introducción de JavaScript (entonces conocido como LiveScript) permitió la producción de páginas web dinámicas del lado del cliente, con código JavaScript ejecutado en el navegador del cliente. [ 4 ] La letra "J" en el término AJAX originalmente indicaba el uso de JavaScript, así como XML . Con el auge del procesamiento JavaScript del lado del servidor, por ejemplo, Node.js , desarrollado originalmente en 2009, JavaScript también se utiliza para crear páginas dinámicamente en el servidor que se envían completamente formadas a los clientes.
MediaWiki , el sistema de gestión de contenidos que impulsa Wikipedia, es un ejemplo de página web dinámica originalmente del lado del servidor, con la que se interactúa mediante formularios y parámetros URL. Con el tiempo, extensiones cada vez más avanzadas, como el editor visual, han añadido elementos dinámicos del lado del cliente, mientras que los elementos dinámicos originales del lado del servidor, como el formulario de edición clásico, permanecen disponibles para su uso en caso de error o incompatibilidad ( degradación elegante ).
Programación del lado del servidor

Un programa que se ejecuta en un servidor web se utiliza para generar el contenido web de diversas páginas, gestionar las sesiones de los usuarios y controlar el flujo de trabajo. Las respuestas del servidor pueden estar determinadas por condiciones como los datos de un formulario HTML enviado , los parámetros de la URL , el tipo de navegador utilizado, el tiempo transcurrido o el estado de la base de datos o del servidor .
Estas páginas web suelen crearse con la ayuda de lenguajes del lado del servidor como ASP , ColdFusion , Java , JavaScript , Perl , PHP , Ruby , Python y otros, mediante un servidor de soporte que puede ejecutarse en el mismo hardware que el servidor web. Estos lenguajes del lado del servidor suelen utilizar la Interfaz de Puerta de Enlace Común (CGI) para generar páginas web dinámicas. Dos excepciones notables son ASP.NET y JSP , que reutilizan conceptos de CGI en sus API , pero en realidad envían todas las solicitudes web a una máquina virtual compartida.
Los lenguajes del lado del servidor se utilizan para insertar etiquetas o marcadores en el archivo fuente de la página web en el servidor web. [ 5 ] Cuando un usuario en una computadora cliente solicita esa página web, el servidor web interpreta estas etiquetas o marcadores para realizar acciones en el servidor. Por ejemplo, se le puede indicar al servidor que inserte información de una base de datos o información como la fecha actual.
Las páginas web dinámicas suelen almacenarse en caché cuando se esperan pocos o ningún cambio y se prevé que la página reciba una cantidad considerable de tráfico web que sobrecargaría innecesariamente el servidor y ralentizaría la carga de la página si tuviera que generar las páginas sobre la marcha para cada solicitud.
Programación del lado del cliente
La programación del lado del cliente consiste en modificar el comportamiento de la interfaz dentro de una página web específica en respuesta a las acciones del dispositivo de entrada o en eventos de tiempo determinados. En este caso, el comportamiento dinámico se produce dentro de la presentación . El contenido del lado del cliente se genera en el sistema informático local del usuario. [ 6 ]
Estas páginas web utilizan una tecnología de presentación denominada páginas con interfaz enriquecida . Los lenguajes de scripting del lado del cliente, como JavaScript o ActionScript , utilizados para las tecnologías DHTML ( HTML dinámico ) y Flash respectivamente, se emplean con frecuencia para gestionar los diferentes tipos de medios (sonido, animaciones, texto variable, etc.) de la presentación. El scripting del lado del cliente también permite el uso de scripting remoto , una técnica mediante la cual la página DHTML solicita información adicional a un servidor, utilizando un marco oculto , XMLHttpRequests o un servicio web .
El primer uso público de JavaScript fue en 1995, cuando el lenguaje se implementó en Netscape Navigator 2 , estandarizado como ECMAScript dos años después. [ 7 ]
- Ejemplo
El contenido del lado del cliente se genera en el ordenador del cliente. El navegador web recupera una página del servidor, luego procesa el código incrustado en la página (normalmente escrito en JavaScript ) y muestra el contenido de la página recuperada al usuario. [ 8 ]
La innerHTMLpropiedad (o comando de escritura) puede ilustrar la generación dinámica de páginas del lado del cliente: dos páginas distintas, A y B, pueden regenerarse (mediante una "respuesta dinámica de evento") como document.innerHTML = Ay document.innerHTML = B; o "dinámica al cargar" mediante document.write(A)y document.write(B).
Tecnologías combinadas
Todos los componentes del cliente y del servidor que, en conjunto, conforman una página web dinámica se denominan aplicación web . Las aplicaciones web gestionan las interacciones del usuario, el estado, la seguridad y el rendimiento. [ 9 ]
Ajax utiliza una combinación de scripts del lado del cliente y solicitudes del lado del servidor. Es una técnica de desarrollo de aplicaciones web para el intercambio dinámico de contenido, que envía solicitudes de datos al servidor para tal fin. El servidor devuelve los datos solicitados, que luego son procesados por un script del lado del cliente. Esta técnica puede reducir el tiempo de carga del servidor, ya que el cliente no solicita que el analizador sintáctico del servidor regenere la página web completa; solo se transmite el contenido que va a cambiar. Google Maps es un ejemplo de una aplicación web que utiliza técnicas Ajax.
Un cliente web , como un navegador, puede funcionar como su propio servidor, accediendo a datos de diversos servidores, como Gopher, FTP, NNTP (Usenet) y HTTP, para generar una página. HTTP permite subir documentos desde el cliente al servidor. Existen varios métodos HTTP para ello.
Véase también
Referencias
- ↑ DeGroote, Sandy. "Guías de asignaturas y cursos: UIC digital: sitios web estáticos y dinámicos" . researchguides.uic.edu . Consultado el 12 de diciembre de 2023 .
{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace ) - ↑ Fielding, Roy Thomas (2000). "Capítulo 5: Transferencia de estado representacional (REST)" . Estilos arquitectónicos y diseño de arquitecturas de software basadas en redes (Tesis doctoral). Universidad de California, Irvine.
- ↑ Nelson, Anne; Nelson, William HM (2002). Building Electronic Commerce with Web Database Constructions . Addison Wesley. ISBN 9780201741308.
- ↑ Benson, Brent W. (1999). "JavaScript" . ACM SIGPLAN Notices . 34 (4): 25– 27. doi : 10.1145/312009.312023 . S2CID 10076062 . .
- ↑ Tatroe, Kevin (2013). Programación en PHP: Creación de páginas web dinámicas (3.ª ed.). O'Reilly. ISBN 9781449365837.
- ↑ Doyle, Barry; Lopes, Cristina Videira (17 de enero de 2008). "Estudio de tecnologías para el desarrollo de aplicaciones web". arXiv : 0801.2618 [ cs.SE ].
- ↑ Okin, JR (2005). La revolución de la información: Guía práctica sobre la historia, la tecnología y el uso de la World Wide Web . Ironbound Press. ISBN 9780976385745.
- ↑ "Aprendiendo VBScript", P. Lomax. ISBN 1-56592-247-6. Ed. O'Reilly, 1997. sec. C13.
- ↑ "Aplicación web" . Archivado del original el 22 de febrero de 2014. Consultado el 24 de julio de 2013 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
Enlaces externos
- Sitio web estático versus dinámico (W3.org)
- Sitios web dinámicos que utilizan el método de gestión de relaciones, de W3.org.
- Análisis exhaustivo de páginas web dinámicas realizado por la Universidad de Texas en Austin.
- Desarrollo web
- Web 1.0
- Diseño web
- Gestión de sitios web