Capa de aplicación
Capa de aplicación
Computer
Networking: A Top
Down Approach
6th edition
Jim Kurose, Keith Ross
Addison-Wesley
March 2012
Application architecture
It is designed by the application developer and
dictates how the application is structured over the
various end systems.
Client-server architecture
server:
always-on host
permanent IP address
data centers for scaling
application application
socket controlled by
process process app developer
transport transport
network network controlled
link by OS
link Internet
physical physical
2-13
Transport service requirements: common apps
application underlying
application layer protocol transport protocol
Actualmente
Red de ámbito mundial
Conecta cientos de
millones de nodos
¿Qué conecta?
¿Por qué?
Ves lo que quieres cuando quieres
Cualquiera puede publicar información fácilmente.
Killer applications after 2003
Se ha apropiado de la funcionalidad de otros servicios
https://los40.com/los40/2017/11/13/video
s/1510584879_602675.html ‘53
1. Servidor Web
3. URL (Uniform Resource Locator)
2. Cliente Web
5. HyperText Markup Language
¿Qué es HTML?
Lenguaje de creación de documentos para la World Wide Web
¿Qué es Internet?
Es una red mundial de dispositivos conectados con los protocolos TCP/IP
¿Qué es TCP/IP?
Es un conjunto de especificaciones que define el modo en que dos
dispositivos conectados a una red se comunican
Web and HTML
Resumiendo…
HTML Lenguaje:
formato de documentos
HTTP
TCP
IP Protocolos:
transmisión de
Capa de enlace los documentos por la red
Capa física
Web and HTML
http://www.unileon.es/estudiantes/informacion/inicio.htm
HTTP 1.0
• 176 pgs
• Introduce tipos MIME (Extensiones Multipropósito de Correo Internet)
• Limitaciones:
• Cada sitio una IP diferente (no virtual hosts)
HTTP 1.1
• Soporte para múltiples hosts (virtual hosts)
• Conexiones persistentes y pipelining.
• Recuperación parcial del recurso (P. e. resume)
• Soporta cacheo, proxies.
time
6. Steps 1-5 repeated for each of
10 jpeg objects
Las conexiones que se abren en el
paso 6 suelen ser en paralelo
Subsequent HTTP
messages between same
client/server sent over
open connection
~
~ entity body ~
~ body
HTTP/1.0: HTTP/1.1:
GET GET, POST, HEAD
requests server an object PUT
specifying url
POST uploads file in entity
the client sends data to the
body to path specified
server , typically entered by in URL field
the user in a form DELETE
HEAD deletes file specified in
As a get but just ask the
headers
the URL field
asks server to leave requested
object out of response
POST method:
input is uploaded to
server in entity body
GET method:
input is uploaded in URL field of request line:
https://accounts.google.com?Email=carmen.benavides.cuellar%40gmail.com
HTTP response message
protocol status code status phrase
status line
HTTP/1.1 200 OK\r\n
Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n
Server: Apache/2.0.52 (CentOS)\r\n
Last-Modified: Tue, 30 Oct 2007 17:00:02
GMT\r\n
header ETag: "17dc6-a5c-bf716880"\r\n
Accept-Ranges: bytes\r\n
lines Content-Length: 2652\r\n
Keep-Alive: timeout=10, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: text/html; charset=ISO-8859-
1\r\n
\r\n
data, e.g., data data data data data ...
requested
HTML file
Application Layer 2-41
HTTP response message: Status codes
Status code appears in 1st line in server-to-
client response message.
Some sample codes:
200 OK
request succeeded, requested object later in this msg
301 Moved Permanently
requested object moved, new location specified later in this msg
(Location:)
400 Bad Request
request msg not understood by server
404 Not Found
requested document not found on this server
505 HTTP Version Not Supported
Application Layer 2-42
HTTP response message: Status codes
Si empieza por:
HTTP/1.0 HTTP/1.1
16 headers 46headers
being mandatory, in
no mandatory request, the Host
header
•close: no persistente
Connection
•Keep alive: persistente
What cookies can be used for: HTTP is used for Keeps the
authorization state on clients
shopping carts
recommendations
user session state (Web e-mail) aside
Cookies and privacy:
cookies permit sites to
learn a lot about you
you may supply name and
e-mail to sites
ebay 8734
usual http request msg Amazon server
cookie file creates ID
usual http response
1678 for user create backend
ebay 8734
set-cookie: 1678 entry database
amazon 1678
usual http request msg
cookie: 1678 cookie- access
specific
usual http response msg action
Typically
University, company, Proxies is
residential ISP installed by
ISP
SSL permite enviar datos sensibles entre Servidor Web y Navegador Web.
SSL proporciona:
• Confidencialidad
• Integridad de los datos
• Autenticación
Class SSLSocket
java.lang.Object
java.net.Socket
javax.net.ssl.SSLSocket
SSL
Billones de euros se
mueven a través de SSL
Se utiliza en casi todos los
sitios Web comerciales.
Historia
SSL desarrollado por Netscape, 1994
• Versiones 1.0, 2.0, 3.0
TLS Transport Layer Security
• Es SSL v3 modificada.
• Estándar por el IETF (RFC 4346)
• También varias versiones
Se habla indistintamente de SSL/TLS
HTTP 2.0
https://www.youtube.com/watch?v=GIDXISQs67w
Fuente: https://http2.akamai.com/
HTTP 3.0
HTTP/3
Oficialmente en el 2020HTTP sobre QUIC.
QUIC is a transport layer protocol designed in 2012 by Jim
Roskind at Google
Quick UDP Internet Connections
No da el servicio de fiabilidad
Cifrado por defecto conTLS
Leading browsers are beginning to support it
Fuente: https://developer.akamai.com/blog/2020/04/14/quick-introduction-http3