Comenzando con Php: ¿Qué es un sitio dinámico?

logotipo de php y mysql

Dentro del interesante ecosistema de la web, es momento de empezar a hablar de lo que ocurre fuera de nuestra computadora y empezar a entender lo que pasa en el servidor.

Sitios estáticos vs sitios dinámicos.

Si solamente has desarrollado páginas web con las tecnologías del navegador (html, css y javascript), al pensar entre dinámico y estático seguramente pensarás que nos referimos a si cuenta con animaciones de algún tipo, creadas con javascript, flash o algún gif animado. Sin embargo, nos estamos refiriendo a la información.

Cuando no se usa programación del lado del servidor, el hacer un sitio web es más sencillo pero más limitado. Sin embargo, puede resultar más que suficiente para muchos proyectos. Este tipo de proyectos se conoce como estáticos porque no cambia la forma de presentarse la información. Tal cual está escrito en el archivo de HTML, tal cual lo verá el usuario.

Es muy fácil de medir sus dimensiones. ¿De cuantas páginas cuenta el sitio? Para tener la respuesta basta con contar el número de documentos .html. Pueden ser 3, 5 o 100, pero son los que yo voy creando.

En este tipo de sitios, el proceso entre el navegador y el servidor es muy sensible. Sucede de la siguiente manera.

  1. El usuario entra a un sitio (supongamos que se llama www.misupersitio.com). De la navegación que encuentra en la parte superior, le da click al botón de productos. El webmaster puso el código para que vaya al documento productos.html
  2. Al hacerse el click, el servidor recibe la orden y busca dentro de su catálogo de archivos al que se llama productos.html y se lo regresa tal cual al navegador.
  3. El navegador recibe el archivo, y dependiendo de lo que contenga realiza peticiones secundarias para traer imágenes o archivos de estilos. En unos segundos el documento queda representado por completo en el browser.

Está dinámica es más que suficiente para muchos tipos de sitios, como el de un pequeño comercio o el portafolio de un diseñador. Mientras exista poca información, un sitio estático es más que suficiente. Pero ¿Qué pasa con un sitio mediano como una tienda de 5000 productos? ¿O 50,000? ¿O 5 millones de productos? Crear y mantener 5,000,000 de archivos de html es realmente complicado. Imaginemos que en cada uno estaba el teléfono de la empresa y este ha cambiado. Tendríamos que dar un “Buscar y Remplazar” a cada documento y luego subirlos a todos de nuevo al servidor.




Ahora pensemos no solo en la cantidad de documentos sino en el tiempo de modificación, como el sitio de un periódico, donde las noticias pueden llegar cada cinco minutos o incluso menos si se está informando de un evento en vivo. El pobre diseñador tardará más tiempo en cambiar su archivo de html, guardarlo y subirlo al servidor que en el tiempo en que llegará un cambio. ¿Y si la noticia ocurre a las cuatro de la mañana? Tendría que haber un equipo de diseño pendiente de la información las 24 horas.

Afortunadamente para evitar está visión distópica es que existen los sitios dinámicos. Sin importar la tecnología, su funcionamiento es parecido y en la mayor parte del tiempo interviene un nuevo elemento: la base de datos.

¿Y qué es una base de datos?

Si es la primera vez que escuchamos este concepto, pensemos que es como un documento de Excel, una hoja de cálculo, donde a través de varias tablas de información están catalogados todos los datos que necesitamos, desde el nombre y precio de nuestros productos, los nombres de nuestros clientes o la confirmación de una transacción bancaria. Incluso en una base de datos deben estar registrados todos los “like” que se le han dado a algún video de un gato tocando un teclado en Youtube.




Funcionamiento de un sitio dinámico

El proceso de la solicitud de un sitio dinámico podría ser como el siguiente ejemplo:

  1. El usuario le da click a un link de un producto que lo lleva a un documento llamada producto.php. Además del nombre del archivo, lleva alguna indicación extra para reconocer de manera única al producto. Por ejemplo, el link en conjunto dice “producto.php?id=1234
  2. El servidor recibe la solicitud y busca el archivo llamado “producto.php”. Sin embargo, al detectar que su extensión no es .html sino .php y por ello sabe que debe realizar un proceso antes. ¿Qué proceso? El que esté escrito en el lenguaje de php, que seguramente en este caso será pedir una solicitud a la base de datos para traer la información del producto 1234. En realidad el archivo “producto.php” es un contenedor para todos los productos de la base de datos. En lugar de tener 5,000,000 de archivos html diferentes, tenemos uno solo con 5,000,000 de versiones de información. Es más controlaba esta forma. Lo único que tiene que hacer el diseñador en este caso es definir el estilo de la información y la ubicación de los elementos.
  3. Una vez que se hizo el proceso del código de php (o cualquier otro lenguaje del lado del servidor), el servidor le lleva al usuario la versión final del documento, con los datos del producto 1234.

El poder de la web radica principalmente en sitios dinámicos, y es por ello que debemos saber como crearlos. En el siguiente artículo veremos que elementos se necesita para trabajar con php.

Be the first to comment

Leave a Reply

Your email address will not be published.


*