Conceptos generales¶
Introducción básica¶
Repaso de conceptos de redes
- Modelo OSI y TCP/IP
- Direcciones y puertos
- DNS
- Los servidores web y el protocolo HTTP.
- URI
- HTTPS (HTTP sobre TLS) - ver como último punto
Question
Poner en común varias URI. Han de tener un ejemplo de todas las partes
Aplicaciones web vs. aplicaciones de escritorio nativas.¶
Rellena la siguiente tabla, primero con una tormenta de ideas, luego buscando en Internet.
Tipo de aplicación | Ventajas | Inconvenientes |
---|---|---|
Nativa | ... | ... |
Web | ... | ... |
Aplicaciones web híbridas
Busca en Internet y responde a: ¿Qué son las aplicaciones web híbridas?
Arquitectura de tres niveles.¶
Tier vs. layer
In discussions of three-tier architecture, layer is often used interchangeably – and mistakenly – for tier, as in 'presentation layer' or 'business logic layer.'
They aren't the same. A 'layer' refers to a functional division of the software, but a 'tier' refers to a functional division of the software that runs on infrastructure separate from the other divisions. The Contacts app on your phone, for example, is a three-layer application, but a single-tier application, because all three layers run on your phone.
The difference is important, because layers can't offer the same benefits as tiers.
Arquitectura y protocolos¶
- Arquitectura cliente servidor. Elementos.
- Protocolos de aplicación más usados: HTTP (Hyper Text Transfer Protocol), HTTPS (Hyper Text Transfer Protocol Secure), FTP. http://slidedeck.io/namho102/http-presentation
- Códigos de error. En modo gatitos: https://http.cat/
Protocolo sin estado¶
HTTP no tiene forma de guardar el estado entre peticiones, por eso usamos las Cookies de sesión.
Además de estos comandos:
- Crea un nuevo perfil en tu navegador
- NOTA: Las extensiones pueden modificar y acceder a mucha información
- Instala alguna herramienta para editar Cookies.
- Analiza qué pasa si restauras la Cookie en otro navegador.
Comandos y herramientas¶
Utiliza los siguientes comandos:
nslookup
- Resolver DNSnc
- Trabajar con sockets y analizar protocolos- Para peticiones HTTPS
printf
- Imprimir información con formato, útil para generar peticiones HTTPncat --ssl
- Útil para realizar la negociación HTTPSprintf 'GET / HTTP/1.1\r\nHost: github.com\r\n\r\n' | ncat --ssl github.com 443
Prácticas¶
- Utiliza nslookup para buscar la ip de las siguientes url:
educa.madrid.org
xataka.com
www.google.es
- Utiliza la página https://whatismyipaddress.com/ip/127.0.0.1
- Utiliza
nc
como servidor y haz una petición desde el navegador, luego haz las tareas de tu servidor web y escribe una página sencilla. - Utiliza
nc
como cliente y haz una petición HTTP a un servidor externo. Debes ver el HTML - Utiliza los comandos
printf
yncat
para hacer una petición a un sitio HTTPS - Utiliza el navegador con el plugin de editar Cookies, crea una cookie para el dominio 127.0.0.1 o localhost, realiza una petición a tu servidor
nc
y encuentra la cabecera donde se establece la Cookie