Una página web dinámica es una página web construida en tiempo de ejecución (durante la ejecución del software ), a diferencia de una página web estática , entregada tal como está almacenada. 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 las secuencias de comandos del lado del servidor , los parámetros determinan cómo procede el ensamblaje de cada nueva página web , incluida 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 utilizando JavaScript que se ejecuta en el navegador mientras se carga. JavaScript puede interactuar con la página a través del Modelo de objetos de documento (DOM), para consultar el estado de la página y modificarla. Aunque una página web puede ser dinámica en el lado del cliente, aún puede alojarse en un servicio de alojamiento estático como GitHub Pages o Amazon S3 siempre que no se incluya ningún código del lado del servidor.
Luego, el usuario o un programa informático recargan una página web dinámica para cambiar algún contenido variable. La información de actualización podría provenir del servidor o de cambios realizados en el DOM de esa página. Esto puede o no truncar el historial de navegación o crear una versión guardada para volver, pero una actualización dinámica de la página web que utiliza tecnologías AJAX no creará una página a la que volver ni truncará el historial de navegación web hacia adelante de la página mostrada. Al utilizar AJAX, el usuario final obtiene una página dinámica administrada como una sola página en el navegador web , mientras que el contenido web real representado en esa página puede variar. El motor AJAX se encuentra únicamente en el navegador solicitando partes de su DOM, el DOM, para su cliente, desde un servidor de aplicaciones. Un servidor de aplicaciones particular podría ofrecer una interfaz de estilo REST estandarizada para ofrecer servicios a la aplicación web. [2]
DHTML es el término general para las tecnologías y métodos utilizados para crear páginas web que no son páginas web estáticas , aunque ha dejado de usarse desde la popularización de AJAX, un término que ahora rara vez se utiliza. Las secuencias de comandos del lado del cliente, las secuencias de comandos del lado del servidor o una combinación de ellas crean una experiencia web dinámica en un navegador.
La navegación de hipertexto clásica , solo con HTML o XHTML , proporciona contenido "estático", lo que significa que el usuario solicita una página web y simplemente ve la página y la información de esa página.
Sin embargo, una página web también puede proporcionar 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 formas de crear este tipo de efecto:
Las páginas web que utilizan secuencias de comandos del lado del cliente deben utilizar tecnología de presentación denominada en términos generales páginas con interfaz enriquecida . Los lenguajes de secuencias de comandos del lado del cliente como JavaScript o ActionScript , utilizados para las tecnologías HTML dinámico (DHTML) y Flash respectivamente, se utilizan con frecuencia para orquestar los tipos de medios (sonido, animaciones, texto cambiante, 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 .
Las páginas web que utilizan secuencias de comandos del lado del servidor a menudo se crean con la ayuda de lenguajes del lado del servidor como PHP , Perl , ASP , ASP.NET , JSP , ColdFusion y otros lenguajes. Estos lenguajes del lado del servidor suelen utilizar la interfaz de puerta de enlace común (CGI) para producir páginas web dinámicas . Este tipo de páginas también pueden utilizar, en el lado del cliente, el primer tipo (DHTML, etc.).
Es difícil ser preciso sobre los "comienzos dinámicos de las páginas web" o la cronología porque el concepto preciso sólo tiene sentido después del "desarrollo generalizado de las páginas web". HTTP existe desde 1989, HTML , estandarizado públicamente desde 1996. El aumento de popularidad del navegador web comenzó con Mosaic en 1993. Entre 1995 y 1996, se introdujeron en el mercado múltiples productos web dinámicos, incluidos Coldfusion , WebObjects , PHP y Active Server. Paginas .
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 de JavaScript del lado del servidor, por ejemplo, Node.js , desarrollado originalmente en 2009, JavaScript también se utiliza para crear dinámicamente páginas 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 una página web dinámica originalmente del lado del servidor, con la que se interactúa a través de envíos de formularios y parámetros de URL. A lo largo del tiempo, las extensiones mejoradas progresivamente , como el editor visual, también han agregado elementos que son dinámicos en el 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 recurrir a ellos ( degradación elegante ) en caso de que de error o incompatibilidad.
Se utiliza un programa que se ejecuta en un servidor web ( secuencias de comandos del lado del servidor ) para generar el contenido web en varias páginas web, administrar sesiones de usuario y controlar el flujo de trabajo. Las respuestas del servidor pueden estar determinadas por condiciones tales como datos en un formulario HTML publicado , parámetros en la URL , el tipo de navegador que se utiliza, el paso del tiempo o el estado de una base de datos o del servidor .
Estas páginas web a menudo se crean con la ayuda de lenguajes del lado del servidor como ASP , ColdFusion , Go , JavaScript , Perl , PHP , Ruby , Python , WebDNA y otros lenguajes, 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 producir páginas web dinámicas. Dos excepciones notables son ASP.NET y JSP , que reutilizan conceptos 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 incrustar etiquetas o marcadores dentro del 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 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 a menudo se almacenan en caché cuando se esperan pocos o ningún cambio y se prevé que la página recibirá una cantidad considerable de tráfico web que sobrecargaría al servidor y ralentizaría la carga de la página si tuviera que generar las páginas sobre la marcha para cada solicitud. .
Las secuencias de comandos del lado del cliente cambian el comportamiento de la interfaz dentro de una página web específica en respuesta a acciones del dispositivo de entrada o en eventos de tiempo específicos. En este caso, el comportamiento dinámico se da 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 secuencias de comandos del lado del cliente como JavaScript o ActionScript , utilizados para las tecnologías HTML dinámico (DHTML) y Flash respectivamente, se utilizan con frecuencia para orquestar los tipos de medios (sonido, animaciones, texto cambiante, etc.) de la presentación. Las secuencias de comandos del lado del cliente también permiten el uso de secuencias de comandos remotas , una técnica mediante la cual la página DHTML solicita información adicional de 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]
El contenido del lado del cliente se genera en la computadora del cliente. El navegador web recupera una página del servidor, luego procesa el código incrustado en la página (generalmente escrito en JavaScript ) y muestra el contenido de la página recuperada al usuario. [8]
La innerHTML
propiedad (o comando de escritura) puede ilustrar la generación de páginas dinámicas del lado del cliente: dos páginas distintas, A y B, se pueden regenerar (mediante una "dinámica de respuesta a eventos") como document.innerHTML = A
y document.innerHTML = B
; o "en carga dinámica" por document.write(A)
y document.write(B)
.
Todos los componentes de cliente y servidor que colectivamente construyen una página web dinámica se denominan aplicación web . Las aplicaciones web gestionan las interacciones, el estado, la seguridad y el rendimiento de los usuarios. [9]
Ajax utiliza una combinación de secuencias de comandos del lado del cliente y solicitudes del lado del servidor. Es una técnica de desarrollo de aplicaciones web para intercambiar contenido dinámicamente y envía solicitudes de datos al servidor para hacerlo. 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 porque el cliente no solicita que el analizador de idioma del servidor regenere toda la página web; sólo se transmite el contenido que cambiará. Google Maps es un ejemplo de aplicación web que utiliza técnicas Ajax.
Un cliente web , como un navegador web, puede actuar como su propio servidor, accediendo a datos de muchos servidores diferentes, como Gopher, FTP, NNTP (Usenet) y HTTP, para crear una página. HTTP admite la carga de documentos desde el cliente al servidor. Existen varios métodos HTTP para hacer esto.
{{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )