Arquitectura cliente‑servidor: modelos de 2 y 3 capas, HTTP y configuración de Apache

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

Escrito el en español con un tamaño de 6,89 KB

Arquitectura 2 capas

Arquitectura 2 capas: El cliente establece una conexión TCP con el servidor. Existen dos partes cooperando entre sí. La información que contiene una página web se encuentra almacenada en uno o varios ordenadores capaces de funcionar como servidores web, que prestan su servicio gracias a una arquitectura cliente‑servidor.

Etapas

El servidor recibe la petición del cliente (puerto 80); las atenderá dependiendo de si las peticiones llegan de manera secuencial o concurrente. Si la petición tiene éxito, se devuelve la respuesta al cliente; si no, se produce un mensaje de error. El navegador ejerce de cliente e interpreta el código HTML.

HTTP

HTTP (HyperText Transfer Protocol) es el protocolo base de la World Wide Web. Está orientado a conexión en el nivel de transporte, usando el protocolo TCP. HTTP no mantiene estado: cada transferencia de datos se realiza mediante una conexión independiente de la anterior.

Métodos: GET y POST (y otros)

  • GET: los datos se envían codificados en la URL.
  • POST: los datos se envían como parte del cuerpo de la petición.
  • HEAD: solicita los encabezados de un recurso sin el cuerpo.
  • PUT: creación o actualización de un recurso (envío).
  • DELETE: eliminación de un recurso.
  • OPTIONS: consulta las capacidades del servidor.
  • CONNECT: permite conexiones a servidores que funcionan como túneles (por ejemplo, para SSL).

Elementos del modelo cliente‑servidor

  • Proceso Cliente (front‑end): proceso que permite al usuario formular los requerimientos y pasarlos al servidor.
  • Proceso Servidor (back‑end): espera que lleguen las peticiones y las atiende.
  • Middleware: interfaz que provee la conectividad entre cliente y servidor para intercambiar mensajes.

Cuando aumenta la complejidad de los procesos en el modelo cliente‑servidor se puede producir un problema denominado "cliente pesado", donde el cliente asume demasiada carga de trabajo.

Arquitectura 3 capas

Arquitectura 3 capas:

  • Cliente: equipo que solicita los recursos.
  • Servidor de aplicaciones: proporciona los recursos solicitados pero requiere de otro servidor para obtener los datos.
  • Servidor de datos: nivel de la base de datos; proporciona al servidor de aplicaciones los datos que éste requiere.

Ventajas

  • Mayor grado de flexibilidad.
  • Mayor seguridad.
  • Mejor rendimiento.

Programación Front‑end y Back‑end

Front‑end: se encarga de producir la apariencia final de la aplicación que verá el usuario (por ejemplo, diseño gráfico con herramientas como Adobe Photoshop).

Back‑end: realiza la parte de la aplicación que queda oculta al usuario, como el acceso y la gestión de datos para obtener respuestas rápidas.

Elementos para la creación web

Las aplicaciones web necesitan ser implementadas mediante:

  • Un servidor en Internet.
  • El protocolo HTTP.
  • El lenguaje HTML (entre otros).

Mediante HTTP se permite una implementación simple y estándar para la transferencia de recursos web.

Elementos a configurar

  • Servidor web.
  • Servidor de aplicaciones web.
  • Servidor de base de datos.
  • Instalación y configuración de la base de datos.
  • Entorno de desarrollo.
  • Depurador de código.
  • Software de máquina virtual.
  • Sistema de control de versiones.
  • Software de pruebas (testing).

Tres entornos de trabajo

  • Entorno de desarrollo (Development): no necesita conexión a Internet; es el entorno local donde se desarrolla y prueba inicialmente el proyecto.
  • Staging (entorno de simulación real): el entorno local no puede simular completamente el entorno real, por lo que es necesario trabajar en un segundo entorno que residirá en Internet y replicará las condiciones de producción.
  • Production (entorno de producción): entorno final de trabajo, con el número de usuarios previstos y condiciones reales de uso.

Apache HTTP Server 2

Apache HTTP Server 2 es un servidor de páginas web, software libre y disponible para Windows y Unix.

Instalación — campos relevantes

  • Network Domain: dominio DNS donde se registrará el servidor web.
  • Server Name: nombre del equipo en el dominio DNS.
  • Administrator's Email Address: dirección de correo electrónico que recibirá avisos y que se mostrará cuando haya mensajes de error.

Para comprobar si funciona: http://localhost/ o http://127.0.0.1/.

Directorios de Apache

  • bin: archivos ejecutables.
  • cgi‑bin: almacenar programas ejecutables del servidor (CGI).
  • error: mensajes de error.
  • htdocs: guarda las páginas web públicas.
  • logs: información sobre conexiones y errores.
  • modules: módulos y extensiones.

Operaciones básicas

  • Start: inicia el servidor web.
  • Stop: detiene el servidor web.
  • Restart: si se hacen cambios, se detiene el servidor y se vuelve a arrancar.
  • Services: servicios del sistema operativo relacionados con Apache.
  • Connect: conectarse a un servidor remoto.
  • Disconnect: desconectarse.

Archivo de configuración

Toda la configuración de Apache se guarda en httpd.conf. El archivo contiene líneas que ejecutan el servidor y otras líneas con anotaciones llamadas comentarios. Los comentarios llevan un # al comienzo; sólo se ejecutan las líneas que no llevan #.

El modo de funcionamiento del servidor web dependerá de los valores que tengan los parámetros, por ejemplo: nombre_parámetro = valor_del_parámetro.

Modificar el fichero de configuración

Pasos comunes para modificar httpd.conf:

  1. Hacer una copia del fichero original.
  2. Abrir el fichero original con un editor (por ejemplo, Bloc de notas en Windows).
  3. Realizar los cambios necesarios.
  4. Guardar los cambios.
  5. Comprobar si la configuración es correcta reiniciando Apache.

Entradas relacionadas: