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 , 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 los scripts del lado del servidor , los parámetros determinan cómo se realiza 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 modificarlo. 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.
Una página web dinámica es recargada por el usuario o por un programa de computadora para cambiar algún contenido variable. La información de actualización puede 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 a la que volver, pero una actualización de una página web dinámica utilizando tecnologías AJAX no creará una página a la que volver ni truncará el historial de navegación web antes de la página mostrada. Con 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 solo en el navegador solicitando partes de su DOM, el DOM, para su cliente, desde un servidor de aplicaciones. Un servidor de aplicaciones en 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 que se utiliza para describir las tecnologías y los métodos que se utilizan para crear páginas web que no son estáticas , aunque ha dejado de usarse desde la popularización de AJAX, un término que ahora se utiliza poco. La creación de scripts del lado del cliente, la creación de scripts del lado del servidor o una combinación de estos permiten obtener una experiencia web dinámica en un navegador.
La navegación de hipertexto clásica , con HTML o XHTML únicamente, 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 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 formas de crear este tipo de efecto:
Las páginas web que utilizan scripts del lado del cliente deben utilizar tecnología de presentación denominada en términos generales páginas con interfaz enriquecida . Los lenguajes de scripts 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. Los scripts también permiten el uso de scripts remotos , 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 scripts del lado del servidor suelen crearse con la ayuda de lenguajes del lado del servidor como PHP , Perl , ASP , JSP , ColdFusion y otros. 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 precisar los "inicios de las páginas web dinámicas" o su cronología, ya que el concepto preciso solo 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 varios productos web dinámicos, incluidos Coldfusion , WebObjects , PHP y Active Server Pages .
La introducción de JavaScript (conocido entonces 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 de 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 a Wikipedia, es un ejemplo de una página web dinámica que originalmente funcionaba en el lado del servidor y con la que se interactuaba mediante formularios y parámetros de URL. Con el tiempo, las extensiones que se fueron mejorando progresivamente, como el editor visual, también han añadido 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, siguen estando disponibles para su uso posterior ( degradación elegante ) en caso de error o incompatibilidad.
Un programa que se ejecuta en un servidor web ( scripts del lado del servidor ) se utiliza 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 un 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 , 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 los 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 dentro del archivo fuente de la página web en el servidor web. [5] Cuando un usuario de 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 a menudo se almacenan en caché cuando se esperan pocos cambios o ninguno y se anticipa que la página recibirá una cantidad considerable de tráfico web que sobrecargaría el servidor y ralentizaría la carga de la página si tuviera que generar las páginas sobre la marcha para cada solicitud.
La creación de scripts del lado del cliente consiste en cambiar 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 específicos. 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 programación 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. La programación del lado del cliente también permite el uso de programación remota , 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]
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 (normalmente 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 de evento") como document.innerHTML = A
y document.innerHTML = B
; o "dinámica al cargar" mediante document.write(A)
y document.write(B)
.
Todos los componentes del cliente y del servidor que construyen colectivamente una página web dinámica se denominan aplicaciones 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 intercambiar contenido de forma dinámica 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 lenguaje del servidor regenere toda la página web; solo se transmite el contenido que cambiará. Google Maps es un ejemplo de una aplicación web que utiliza técnicas Ajax.
Un cliente web , como un navegador web, puede actuar como su propio servidor y acceder a datos de muchos servidores diferentes, como Gopher, FTP, NNTP (Usenet) y HTTP, para crear una página. HTTP permite cargar documentos desde el cliente al servidor. Existen varios métodos HTTP para hacerlo.
{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace )