Web Architecture
El internet y la World Wide Web ("la Web") son
la base de todas las formas de comunicación moderna. La Web es sólo uno
de muchos tipos de servicios disponibles en el Internet (otros servicos
son: correo electrónico, IM, grupos de noticias, transferencia de
archivos, "secure shell", acceso remoto, y muchos otros). La web
consiste de páginas mantenidas por varias organizaciones y
corporaciones privadas. Algunas de estas páginas, como
http://google.com, http://facebook.com, http://wikipedia.org, etc.,
contienen texto, imágenes, audio, videos, y animaciones; además tienen
soporte para enviar y recibir data de los usuarios de esas páginas. Los
usuarios pueden navegar las páginas usando un navegador web como
Firefox.
Documentos Estructurados, Enlaces
Las páginas Web están escritas en un idioma de programación llamado
HTML, o "HyperText Markup Language", así como otras tecnologías
asociadas. El documento HTML que el usuario recibe al accesar una
página contiene el texto de la página así como enlaces a otro material
necesario para presentar la página. Este otro material puede incluir
imágenes, sonido, video, secuencias de comandos ("scripts") y más.
Además de todo lo que hace que una página web se vea y actúe de
forma interesante, la página también puede contener enlaces a otras
páginas. Estos enlaces es lo que hace que las páginas formen una "Web",
o "red" en español. Cada página puede enlazar a muchas otras páginas,
las cuales pueden enlazar a otras páginas adicionales por su cuenta.
Algunas de estas páginas pueden hasta tener enlaces de regreso a la
página original. Si fueras a dibujar un mapa de todos estos enlaces
entre páginas, el mapa se parecería mucho a una telaraña (spider "web",
"web" de un araña).
Cuando un usuario navega a una página web como
http://www.google.com, el navegador del usuario toma el URL o Uniform
Resource Locator (Localizador de Recurso Uniforme) y lo convierte en
una dirección a un computer server, o servidor. El navegador luego
envía un mesaje a este servidor solicitando la página que se va a
presentar. Cada uno de los otros elementos de la pagina que aparecen en
el documento HTML son luego descargados independientemente del
documento HTML original. Por esta razón, es necesario que ocurran
dozenas o cientos de conecciones al servidor de modo que se puedan
descargar todos los elementos para una sola página web. Además, un
diseñador puede referenciar una imagen u otro objeto localizado en un
servidor distinto al servidor que contiene el documento HTML. Un
ejemplo de esto es Google Imágenes; cuando encuentras imágenes, estás
en una página web de Google, pero dentro de el HTML de esa página hay
una referencia a la imagen de la página original de manera que puedas
ver la imagen antes de navegar a ese otro sitio web.
Servidores Web
Un servidor no tiene conocimiento sobre los archivos HTML que
envía. En lugar de esto, el servidor tiene un directorio lleno de
archivos que componen el sitio web. Cuando un navegador web solicita un
archivo, el servidor envía una copia de ese archivo de vuelta al
navegador del usuario. También existe un archivo especial llamado
"index.html" (algunos servidores usan un nombre distinto, pero
index.html usualmente funciona), el cual será el archivo enviado
más comúnmente. Cuando tu navegador le solicita a un sitio web la
página "http://google.com/NombreDeArchivo.html", el navegador irá al
servidor localizado en la dirección "google.com" y solicitará el
archivo en el directorio principal, simbolizado por una diagonal (/),
llamado "NombreDeArchivo.html". Sim embargo, si el usuario solamente
escribe "http://google.com/", el servidor automaticamente enviará el
archivo index.html (idéntico a si el usuario hubiera escrito
"http://google.com/index.html", ya que no hay ningún archivo escrito
luego de la diagonal. (Lo mismo ocurre aunque el usuario no escriba la
diagonal; el navegador la añade automáticamente.)
Para un servidor, no hay diferencia entre
"http://nombredelservidor.com/archivo.html" o
"http://nombredelservidor.com/imagen.jpg". En ambos casos, el servidor
(localizado en la dirección "nombredelservidor.com" simplemente toma el
archivo de su disco duro y lo envía al navegador web del usuario. Esto
facilita el trabajo del diseñador de la página web, y ya que el
diseñador puede poner todos los archivos que necesita para el sitio en
un directorio en el servidor, y luego indicarle al servidor que el
directorio "root" será el directorio principal usado cuando un usuario
escriba una diagonal (/) luego de la dirección del servidor.