Capitulo 2 - Aplicacion Flashcards
Arquitectura Cliente-Servidor
En este tipo de arquitecturas hay un host denominado servidor, siempre disponible, que atiende peticiones de muchos otros host denominados clientes. Ejemplo: Aplicacion Web, FTP, email.
Arquitectura Peer-to-Peer y cual es la gran ventaja?
La necesidad de un servidor no existe o es mínima. Este tipo de arquitecturas explotan la comunicación directa entre pares de hosts denominados peers. Una de las grandes ventajas es que es auto escalable. El que empieza la comunicación se llama cliente y el otro servidor. Pueden ser a la vez cliente y servidor. Ejemplo: File distribution, Skype.
Socket
Es la interfaz (librería del sistema operativo) entre la capa de aplicación y la capa de transporte de un host.
Servicios que puede brindar la Capa de Transporte
- Transferencia confiable
- Throughput
- Tiempo
- Seguridad
Servicios de TCP
- Orientado a conexión: handshaking antes de comenzar la conexión full-duplex.
- Transferencia confiable de datos: sin errores y en orden.
- Control de congestión.
Servicios de UDP
Transferencia de datos no confiable: no garantiza que llegue y si llega no garantiza orden.
SSL
Security Socket Layer. Es una mejora para TCP, implementada a nivel de capa de aplicación (API), que provee encriptación de datos.
HTTP (TCP, 80)
HTTP es el protocolo de capa de aplicación para la Web. Esta implementado en dos programas, cliente y servidor, que se comunican entre sí intercambiando mensajes http.
Utiliza TCP como protocolo de transporte y no mantiene estado (stateless).
HTTP con conexiones NO persistentes (que es y nombrar 2 desventajas)
Cada par request/response se envía en una conexión TCP diferente. (Se pueden hacer en paralelo).
Desventajas: tiempo de handshaking y sobrecarga del servidor.
RTT
Round Trip Time: es el tiempo que le lleva a un paquete ir desde el cliente al servidor y de vuelta al cliente.
HTTP con conexiones persistentes
La conexión TCP se mantiene abierta luego de enviar la respuesta. Se cierra cuando no es utilizada por un cierto tiempo (timeout). HTTP usa por defecto conexiones persistentes.
HTTP Request Message
Ejemplo:
GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/5.0
Accept-language: fr
HTTP Response Message
Ejemplo:
HTTP/1.1 200 OK
Connection: close
Date: Tue, 09 Aug 2011 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data …)
El contenido del mensaje de http es en binario, a diferencia de SMTP que es en ascii.
HTTP 1.0 vs HTTP 1.1
Las mas importantes:
HTTP 1.1 admite conexiones persistentes, HTTP 1.0 no.
HTTP 1.1 tiene un header requerido “host”, HTTP 1.0 no
Cookies
Utilizada por los sitios para guardar información de los usuarios. Permite restringir el acceso o brindar contenido específico al usuario.