Arquitectura Cliente-Servidor en la Web
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,7 KB
Arquitectura Cliente-Servidor
El funcionamiento de la Web es posible gracias a la coexistencia de una serie de componentes hardware y software:
- Hubs, repetidores, puentes, pasarelas, enrutadores, etc.
- Protocolos de comunicaciones (TCP, IP, HTTP, FTP, SMTP, etc.)
- Sistema de nombres de dominio (DNS) para la búsqueda y utilización de recursos => URL del recurso solicitado.
- Software específico para consumir los recursos.
La arquitectura cliente/servidor está basada en la idea de servicio.
- El cliente es un componente consumidor de servicios.
- El servidor es un proceso proveedor de dichos servicios.
- La comunicación entre ambos componentes se lleva a cabo a través del intercambio de mensajes.
Normalmente el cliente, a través de un navegador, inicia el intercambio de información, solicitando datos al servidor.
El servidor responde enviando uno o más flujos de datos al cliente.
Clientes
Originan el tráfico web.
Envían las peticiones y reciben las respuestas.
Tipos de clientes web
- Navegadores (Netscape, IE, Chrome, Opera, FireFox, Safari).
- Robots (Motores de búsqueda)
Características de los navegadores
- Las peticiones están dirigidas por el usuario.
- Repiten peticiones al mismo objeto cuando navegan por un site.
- Utilizan cachés de memoria y disco.
Características de los robots
- Las peticiones son automatizadas.
Servidores
Su cometido básico es proveer de contenido estático a un cliente que ha realizado una petición a través de un navegador.
Las peticiones al servidor contienen una dirección de tipo URL (Localizador Uniforme de Recurso) formada por:
- La referencia a un cierto protocolo (HTTP, FTP, etc.)
- La dirección IP o nombre de dominio del servidor
- La descripción del recurso en forma de ruta al objeto que queremos descargar.
- Opcionalmente se puede incluir el puerto por el que el servidor escucha las peticiones del cliente.
Programas de Servidores Web
- Apache
- Microsoft IIS (Internet Information Services)
- NGINX
- Lighttpd
- Sun Java System Web Server
Apps Web
Tipos de aplicaciones web
- Aplicaciones web estáticas: El usuario recibe una página web desde el servidor que no conlleva ningún tipo de acción. HTML.
- Aplicaciones web dinámicas: La interacción del cliente con la página web recibida desde el servidor produce algún cambio en la visualización de la misma (cambio de formato, ocultación de partes de la página, comienzo de animaciones, aparición de elementos nuevos…).
- Aplicaciones web interactivas: La interacción del cliente con la página web recibida desde el servidor hace que se genere un diálogo entre ambos. Son las aplicaciones que más se utilizan en Internet actualmente. En el lado cliente encontramos HTML, controles ActiveX, Flash, applets, AJAX, etc. En el lado servidor se utilizan lenguajes embebidos en código HTML como PHP, ASP, JSP, enlaces a ejecutables CGI, servlets, ASP.net.
Lenguajes de Scripting
JSP (Java Server Pages)
- Porciones de código Java intercalado con HTML estático.
- El código Java embebido se denomina servlet.
- El servlet se carga en la memoria del servidor web al ser ejecutado la primera vez, para mejorar su ejecución en posteriores llamadas a dicha página web.
CGI (Common Gateway Interface)
- Es la forma más simple de crear páginas web dinámicas.
- Estándar para transferir datos entre cliente y programa.
- Un programa independiente al servidor web devuelve como resultado el contenido que debe visualizar el cliente (la página web resultante) a partir de ciertos parámetros de entrada.
- La ubicación del programa a ejecutar se indica en la URL que forma la petición HTTP del cliente.
Apps Híbridas
- Tecnología intermedia entre los lenguajes de scripting y los programas CGI.
- Plataforma de Microsoft .Net Framework con el lenguaje ASP.Net.
- ASP.Net es una tecnología totalmente orientada a objetos, que permite la creación de páginas web dinámicas utilizando lenguajes como VB.Net, C#, Jscript.Net.
- Las páginas ASP.Net están contenidas en ficheros .ASPX que son los que el cliente solicita a través de una URL al servidor.
Herramientas de Programación
- Apache HTTP Server
- MySQL
- PHP
- PhpMyAdmin