PDF de programación - Protocolo HTTP 1.1 RFC 2616 - Teleinformática y Redes

Imágen de pdf Protocolo HTTP 1.1 RFC 2616 - Teleinformática y Redes

Protocolo HTTP 1.1 RFC 2616 - Teleinformática y Redesgráfica de visualizaciones

Publicado el 9 de Septiembre del 2020
1.427 visualizaciones desde el 9 de Septiembre del 2020
429,9 KB
27 paginas
Creado hace 8a (14/04/2016)
Teleinformática y Redes 2016

Protocolo HTTP 1.1

RFC 2616

¿Por qué ver este protocolo?

● HTTP comprende

alrededor del 53% del
tráfico en Internet de
América Latina.

● Esta cifra crece a
medida que más
aplicaciones trasladan
su forma de operación a
la web (ej: webchat).

Application

Youtube
HTTP
BitTorrent
SSL - Other
Netflix
Facebook
MPEG - Other
RTMP
Flash Video
Other (email, ftp, etc)

Share
30.11 %
12.18 %
11.65 %
10.31 %
5.91 %
5.66 %
2.14 %
1.82 %
1.70 %
18.52 %

Latin America, Fixed Access, Peak Period, Top Apps by Bytes
Global Internet Phenomena Report: 2015, Sandvine Inc. ULC
https://www.sandvine.com/downloads/general/global-internet-phenomena/2015/
global-internet-phenomena-report-latin-america-and-north-america.pdf

Teleinformática y Redes 2016

2

Arquitectura cliente/servidor

Equipo cliente

Proceso
cliente

Pedido

Red

Respuesta

Proceso
servidor

Equipo servidor

● En la arquitectura

cliente/servidor, el
cliente es un
componente que realiza
peticiones de servicio a
otro componente, el
servidor, que satisface
dichas peticiones.
Ambos componentes
están conectados
mediante algún tipo de
red.

Teleinformática y Redes 2016

3

HyperText Transfer Protocol
HTTP 1.0 - IETF '96 – RFC 1945

● Se crea una pagina web mediante HTML, alojada

como un archivo en el servidor web, en un directorio
publico. El usuario escribe una dirección web en su
cliente web o User Agent (UA), el UA establece una
conexion con el servidor web y solicita el recurso.

● El servidor web busca el archivo y, si existe, lo
remite al cliente. Por cada objeto requerido se
realiza una nueva petición independiente de la
anterior.

Teleinformática y Redes 2016

4

Características de HTTP

● Capa 7 Opera en capa de Aplicación sobre transporte TCP
● Petición/Respuesta. Basa su operación en transacciones.
● Sin estado. Cada transacción HTTP es independiente de

la anterior y de la siguiente.

● Bidireccional. Permite al servidor web enviar datos al

cliente y viceversa.

● Negocia capacidades. Permite al UA negociar caracterís-
ticas tales como tipo de contenido aceptados, idioma, etc
Intermediarios y caché. Permite que estaciones actúen
como intermediarios y que se almacenen y recuperen
copias de objetos para mejorar los tiempos de respuesta.



Teleinformática y Redes 2016

5

HyperText Markup Language
HTML – CERN '91

<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01//EN" "http://www.w3.org/
TR/html4/strict.dtd">
<html>
<head>
<title>Planet Express</title>
</head>
<body bgcolor="#CCCCCC">
<center>
<img src="logo.png" width="150"
height="113">
<h1>Planet Express</h1>
<p>Bienvenido a Planet Express:
repartos a todo el Universo.</p>
<p>
<a href="envios.html">
Envios</a> /
<a href="staff.html">
Staff</a>
</p>
</center>
</body>
</html>

● Es un lenguaje de

etiquetas que permite
crear documentos
estructurados
especificando la
semántica del texto, tal
como párrafos,
encabezados, listas,
enlaces y tablas. Permite
embeber imágenes,
formularios y otros
objetos. Los documentos
se escriben en texto plano
con etiquetas o tags entre
signos < y >

Teleinformática y Redes 2016

6

La Web como
sistema distribuido

media.example.net

www.ejemplo.ar

www.unlu.za

Teleinformática y Redes 2016

7

Páginas estáticas

Equipo servidor

HTTP Request

Equipo cliente

Archivo HTML

Web
Server

Sistema de archivos
(espacio público)

Red

HTTP Reply

User
Agent

Teleinformática y Redes 2016

8

Páginas estáticas

<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01//EN" "http://www.w3.org/
TR/html4/strict.dtd">
<html>
<head>
<title>Planet Express</title>
</head>
<body bgcolor="#CCCCCC">
<center>
<img src="logo.png" width="150"
height="113">
<h1>Planet Express</h1>
<p>Bienvenido a Planet Express:
repartos a todo el Universo.</p>
<p>
<a href="envios.html">
Envios</a> /
<a href="staff.html">
Staff</a>
</p>
</center>
</body>
</html>

Teleinformática y Redes 2016

9

Procesamiento del
lado del servidor

● Páginas HTML que se
generan mediante un
proceso auxiliar cada
vez que un cliente las
solicita. De ahí el
nombre páginas
dinámicas.

Petición

Equipo servidor

Parámetros

Proceso

Web
Server

Respuesta

Respuesta

Sistema de archivos

● La comunidad debió

acordar una interfaz de
comunicación entre el
proceso servidor y el
proceso auxiliar que
genera la respuesta.

Teleinformática y Redes 2016

10

Common Gateway Interface
NCSA '93 – RFC 3875

● Una interfaz simple para ejecutar programas externos en

un servidor web, en forma independiente de la
plataforma (y del lenguaje de programación). El servidor
actúa como una pasarela de aplicación: recibe la petición
del cliente, selecciona el script CGI que manejará la
petición, convierte el pedido del cliente a un pedido CGI,
ejecuta el script, reconvierte la respuesta CGI y la remite
al cliente. CGI define un conjunto de parámetros
abstractos que describen la petición del cliente.

● El servidor es responsable de manejar la conexión y

transferir los datos, mientras que el script maneja las
cuestiones de aplicación, el mantenimiento de sesión y el
procesamiento de los documentos.

Teleinformática y Redes 2016

11

Common Gateway Interface

● Dirección URL

– <scheme> "://" <server-name> ":" <server-

port> <script-path> <extra-path> "?" <query-
string>

● Ejemplo

– http://www.tyr.unlu.edu.ar/cms/blog?page=7

● Variables CGI relevantes

– PATH_INFO, PATH_TRANSLATED, QUERY_STRING
– REMOTE_ADDR, REMOTE_HOST, REMOTE_USER
– REQUEST_METHOD, SCRIPT_NAME
– SERVER_NAME, SERVER_PROTOCOL, SERVER_SOFTWARE

Teleinformática y Redes 2016

12

Método HTTP GET

● Los datos son enviados por el cliente al servidor codificados en

la URI, despues de "?".

● Los datos son enviados por el servidor al proceso auxiliar en la

variable de entorno QUERY_STRING.

● Ejemplo: http://www.example.com/catalogo.cgi?cate

goria=23&marca=Acme

– Variables de entorno (parcial):

HTTP_HOST = www.example.com
REQUEST_METHOD = GET
REQUEST_URI = /catalogo.cgi
QUERY_STRING = categoria=23&marca=Acme

Teleinformática y Redes 2016

13

Método HTTP POST

● Los datos son enviados por el cliente al servidor en el cuerpo de

la petición HTTP.

● Los datos son enviados por el servidor al proceso auxiliar como

entrada estándar (stdin).

● Ejemplo: http://www.example.com/catalogo.cgi

– Variables de entorno (parcial):

HTTP_HOST = www.example.com
REQUEST_METHOD = POST
REQUEST_URI = /catalogo.cgi
QUERY_STRING =
– Entrada estándar:

categoria=23
marca=Acme

Teleinformática y Redes 2016

14

Common Gateway Interface

● El proceso auxiliar puede estar desarrollado

utilizando cualquier lenguaje que implemente la
interfaz CGI: C, Bash, Perl, PHP, Python, etc...

● Todo script DEBE emitir una respuesta.

– Status
– Content-Type
– Location
– Body

Teleinformática y Redes 2016

15

Common Gateway Interface

Equipo servidor
Entorno (GET/POST)
Entrada estándar (POST)

Proceso

CGI

Interfaz CGI

Web
Server

Respuesta

Petición HTTP

GET ó POST

Equipo cliente

User
Agent

Respuesta HTTP

Sistema de archivos

Teleinformática y Redes 2016

16

Ejemplo de código PHP

<?php
$peso = $_POST['peso'];
$destino = $_POST['destino'];
$costo = $costo_base + costo_a($destino) * $peso;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Planet Express</title>
</head>
<body bgcolor="#CCCCCC">
<img src="logo.png" width=”150” height=”113” align="left">
<form method="POST">
<p><strong>Tarifador de envios</strong></p>
<p>Peso: <input type="text" name="peso" value="30" size="5"> kg.<br>
Destino: <select name="destino">
<option>Marte</option>
<option>Tierra</option>
<option>Jupiter</option>
</select>
<input type="submit" name="submit" value="Recalcular"></p>
<p>Costo del envio: <strong>$ <?php echo $costo ?></strong></p>
</form>
</body>
</html>

Teleinformática y Redes 2016

17

Common Gateway Interface

Equipo servidor

HTTP POST

PESO=30
DESTINO=MARTE

Interfaz CGI

Proceso

Web
Server

Respuesta

Respuesta

User Agent

Teleinformática y Redes 2016

18

Mantenimiento de
información de estado

● El protocolo HTTP no mantiene información de

estado sobre el usuario entre transacciones sucesivas
(se dice que es stateless).

● Muchas aplicaciones web requieren mantener esta
información entre las diferentes peticiones HTTP
para brindarle al usuario contenido personalizado
(ej: datos de login, ubicación geográfica, etc.)

● Una solución adoptada por muchas aplicaciones web
es el uso de Cookies, un fragmento de texto que el
servidor web puede almacenar en el cliente y que el
cliente web remite en el Header de cada petición.

Teleinformática y Redes 2016

19

Cookies
(Netscape '94, RFC 2965)

Equipo servidor

1

GET /index.html
...

Web
Server

2

Aplicación

Web

HTTP/1.1 200 OK
Set-Cookie: IDSESION=0ADF
...

Equipo cliente

User
Agent

● El navegador web realiza una petición por un recurso

al servidor web.

● El servidor web responde retornando el recurso

solicitado e incluyendo con el encabezado Set-Cookie
un par (clave, valor) que identificará al cliente.

Teleinformática y Redes 2016

20

Equipo servidor

Web
Server

Aplicación

Web

3

GET /productos
Cookie: IDSESION=0ADF
...

4

HTTP/1.1 200 OK
...

IDSESION
00AB
0ADF
7CC0


Cookies

Equipo cliente

User
Agent

IDSESION=0ADF

● El cliente almacena los valores recibidos y en cada

petición posterior al mismo servidor, incluirá un
encabezado Cookie con los valores asignados.

● La aplicación web utiliza esos valores para identificar

unívocamente a un cliente o sesión de usuario.

Teleinformática y Redes 2016

21

Equipo servidor

5

GET /comprar?idproducto=30
( 3 ) Petición HTTP
Cookie: IDSESION=0ADF
...

IDSESION COMPRAS
00AB (vacío)
0ADF (producto 30)
7CC0 (producto 19)
  • Links de descarga
http://lwp-l.com/pdf18187

Comentarios de: Protocolo HTTP 1.1 RFC 2616 - Teleinformática y Redes (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad