Conceptos Esenciales de Hosting, Cloud y Estructura de Datos Web

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,42 KB

Housing: Servidores Dedicados y Gestión Propia

Los operadores te proporcionan el espacio físico para el servidor y la capacidad de comunicación (ancho de banda y garantía de servicio). Te ofrecen toda la infraestructura necesaria para un servidor robusto. La máquina es tuya y tú la gestionas, mientras ellos proveen el lugar. El servidor, tanto el software como el hardware, es de tu propiedad.

Cloud Computing: Infraestructura y Plataforma como Servicio

Se contratan servicios a distintos niveles:

  • Infraestructura como Servicio (IaaS)

    Se adquiere la capacidad de ejecutar un servidor virtualizado sobre el hardware del proveedor. El proveedor gestiona el hardware y el hipervisor, un software que aísla el software del hardware físico. Esto ofrece movilidad; si un nodo físico falla, el hipervisor migra automáticamente el servicio a otro nodo. Los servicios son elásticos, adaptándose a las necesidades y al presupuesto. Si se desea evitar la gestión de hardware, se contratan estos servicios. En este modelo, el usuario gestiona la parte lógica: el servidor web, el sistema operativo (SO) y todo su contenido.

  • Plataforma como Servicio (PaaS)

    Similar al hosting tradicional, se utiliza un servicio de alojamiento de páginas y documentos proporcionado por un tercero. El proveedor facilita la plataforma, y el usuario solo sube sus ficheros.

Hosting Virtual: Optimización de Servidores Web

Dentro de un servidor web, es posible definir múltiples sitios web distintos, cada uno con su propio espacio de almacenamiento (un servidor, múltiples servicios). Al usuario que contrata el servicio se le asigna un usuario de transferencia de ficheros con permisos específicos para su dominio.

HTTP/1.0 y el Hosting Virtual

Para que un nombre de dominio sepa a qué servicio corresponde, HTTP/1.0 tomaba la URL, deducía que era HTTP, obtenía el nombre de dominio de la máquina, resolvía la IP y el puerto, y usaba esta información para establecer una conexión TCP. En la conexión TCP, solo se enviaba la ruta (path) y el nombre del fichero. Si el servidor no tenía información para un hosting virtual (es decir, no se enviaba el nombre de dominio en la petición), era necesario recurrir a subdirectorios, ejecutar instancias del servidor en puertos distintos o asignar varias direcciones IP a la misma máquina.

HTTP/1.1 y la Cabecera 'Host'

Con la introducción de la cabecera Host, se solucionó este problema. Esta cabecera indica el nombre de dominio o la IP del sitio solicitado. Cuando la petición llega al servidor, este consulta la cabecera Host para identificar el nombre de dominio, en lugar de depender únicamente de la URL. Esta característica es la base fundamental del hosting virtual.

Desafíos de HTTP en la Comunicación Bidireccional

El protocolo HTTP fue diseñado principalmente para un modelo de petición-respuesta, donde el cliente envía una petición y el servidor responde. No fue concebido para una comunicación bidireccional en tiempo real (donde el servidor también pueda iniciar el envío de datos al cliente sin una petición previa).

Para implementar servicios como un chat en un navegador utilizando HTTP, se recurre a una técnica de sondeo (polling). Cuando un usuario envía un mensaje, este llega al servidor, pero el servidor no puede enviarlo directamente al cliente de forma proactiva. Es necesario esperar a que el cliente envíe una nueva petición para poder entregarle el mensaje. Para ello, el cliente debe realizar sondeos periódicos al servidor para verificar si hay mensajes nuevos. Este método genera una sobrecarga significativa en el servidor debido al gran número de peticiones constantes.

XML: Separación de Datos y Presentación

HTML presenta una limitación: está diseñado para generar documentos visualmente interpretables por personas, centrándose en la maquetación y presentación. Si el objetivo es que un programa extraiga datos de un documento, es crucial separar los datos de sus características de presentación.

XML (eXtensible Markup Language) resuelve esto al no definir un conjunto cerrado de etiquetas; permite a cada usuario definir las etiquetas que necesite. Esto facilita a los programas recorrer e interpretar el documento, ya que contiene solo datos estructurados de manera sencilla.

Para presentar datos XML en una web, es necesario acompañarlos de un mecanismo de presentación. Para este fin se crearon las Hojas de Estilo Extensible (XSL) o plantillas XSL. Estas plantillas permiten aplicar un formato determinado a los datos, posibilitando la generación de diversas salidas como PDF, HTML, u otros formatos a partir de los mismos datos XML.

Entradas relacionadas: