SlideShare una empresa de Scribd logo
HTTP 1.1
Hypertext Transfer Protocol
OpenWebinars
Curso de front-end (2014)
Sergio Rus
@sergiorus
http://www.keepbrowsersafe.com
● Protocolo de propósito general
● Originalmente diseñado para hypermedia (HTML)
● Modelo cliente-servidor
● Stateless (no se guarda el estado)
● Conexiones persistentes (HTTP 1.1)
● API muy simple (métodos HTTP)
Principales características
Protocolo de propósito general
HTTP fue originalmente diseñado para transmitir
sólo documentos HTML. Posteriormente se
amplió a otros tipos de datos (Internet media
types, antes conocido como MIME types).
Cliente-servidor
El cliente (navegador web, app del móvil, etc)
siempre es el que inicia la comunicación
enviando una petición HTTP (HTTP request) al
servidor. Éste procesa la petición, genera una
respuesta y la envía al cliente mediante una
respuesta HTTP (HTTP response).
http://slides.com/onema/http-protocol
HTTP request
HTTP request
HTTP request
HTTP response
HTTP response
Cliente-servidor
Petición (request)
Una petición es un mensaje que transmite el
cliente al servidor con el propósito de acceder
a un recurso alojado en éste. Un recurso es
cualquier pieza de información que pueda ser
identificada con una URI (URL o URN). Los
recursos no tienen porqué identificar sólo
datos almacenados en el servidor. Un recurso
puede ser un concepto.
Respuesta (response)
Es el mensaje que transmite el servidor
al cliente en respuesta a su petición.
Estructura de un mensaje HTTP
Tanto las peticiones como las respuestas tienen
una estructura similar:
● Línea de estado
● Encabezados
● Opcionalmente, el cuerpo del mensaje (datos)
Estructura de un petición HTTP
La línea de estado contiene:
● El método HTTP usado (GET)
● La URI del recurso (/)
● La versión del protocolo (HTTP 1.1)
En HTTP 1.1 es obligatorio incluir siempre la
cabecera Host.
GET / HTTP 1.1
Host: www.example.com
Accept: text/html
Estructura de un respuesta HTTP
La línea de estado contiene:
● La versión del protocolo (HTTP 1.1)
● El código de respuesta (200)
● Descripción del código (OK)
El resto serían cabeceras y el cuerpo.
HTTP/1.1 200 OK
Date: Mon, 08 Dec 2014 19:04:39 GMT
Content-Type: text/html
Stateless
Una de las características más importantes de
HTTP es que todas las peticiones (requests) son
independientes: no se guardan datos (estado) entre
una petición y otra, es decir, el servidor debe tratar
cada petición de forma independiente. Es una de las
claves para poder escalar la arquitectura de la red
hasta el tamaño de Internet.
Conexiones persistentes
HTTP es un protocolo de aplicación que requiere
un protocolo de transporte para transmitir los
datos. El protocolo de transporte (TCP, SPDY, etc)
es el encargado de gestionar cada conexión: abrir
conexión, transmitir datos, cerrar conexión.
El coste de abrir una nueva conexión es muy alto,
tanto para el cliente como para el servidor.
Conexiones persistentes
Gracias a las conexiones persistentes, característica
añadida en la versión 1.1 de HTTP (versión actual), el
cliente y el servidor pueden realizar varias peticiones
HTTP reutilizando la misma conexión proporcionada
por el protocolo de transporte. Aunque la conexión
sólo se mantiene abierta por un tiempo limitado
cuando deja de haber actividad.
Conexiones persistentes
Aunque las conexiones persistentes
permiten minimizar el número de
conexiones requeridas, actualmente los
navegadores pueden abrir de media hasta 6
conexiones simultáneas por host. El
problema es que también existe un límite
para el número total de conexiones
simultáneas a lo largo de todos los hosts.
La cifra varía mucho de un navegador a
otro, pero se mueve entre 10 y 17.
Conexiones persistentes
Conclusión: minimizar el número de conexiones
totales tratando de reutilizar las conexiones ya
abiertas (conexiones persistentes) y aprovechando
la caché del navegador. ¡La conexión más rápida es
aquella no efectuada!
● GET: Obtener un recurso.
● POST: Crear un recurso.
● PUT: Actualizar o crear un recurso (si no existía).
● DELETE: Eliminar un recurso.
● OPTIONS: Información del servidor.
● HEAD: Igual que GET, pero sólo obtiene cabeceras.
Métodos HTTP
Con ellos el cliente indica al servidor qué tipo de acción
quiere realizar. Los más usados son:
curl -v www.example.com
cur -v -X HEAD www.example.com
curl -v -X OPTIONS www.example.com
Métodos HTTP
Veamos algunos ejemplos con cURL:
● 1xx Informational: Información provisional.
● 2xx Success: La acción se realizó correctamente.
● 3xx Redirection: El cliente debe realizar otra acción.
● 4xx Client Error: Error en la petición del cliente.
● 5xx Server Error: Error del servidor al procesar la petición.
Status codes
Los códigos de respuesta se pueden dividir en 5
categorías:

Más contenido relacionado

PDF
Rest clase 4 - curso front-end 2014 - open webinars
PPTX
Mantenimiento Servidor de correo
PPTX
13.Servidor HTTP
ODP
Apache ha muerto, Viva Lighttpd
PDF
Web services-con-php
PPTX
Joselyn acosta
DOCX
Entrada 11 del blog
PDF
Protocolo http
Rest clase 4 - curso front-end 2014 - open webinars
Mantenimiento Servidor de correo
13.Servidor HTTP
Apache ha muerto, Viva Lighttpd
Web services-con-php
Joselyn acosta
Entrada 11 del blog
Protocolo http

La actualidad más candente (20)

PPTX
Exchangeserver2010 expo
PPTX
Protocolo http noe lechuga de la cruz
PPTX
Servidores web
PPT
Servicios web
PPTX
Páginas dinámicas
PPTX
Exposicion
DOCX
Entrada 10
PPTX
Cliente web y servidor web
PPTX
Servlet
PPTX
Protocolo http
PPTX
Presentación2.pptx
PPTX
Servidor web, plataforma para 24
PPTX
13. servidor http
PDF
PPTX
Fundamentos de la web
PPTX
ACTIVIDAD 5
PDF
Protocolo syslog
 
PPTX
Modelo cliente servidor
PPT
Cliente web
Exchangeserver2010 expo
Protocolo http noe lechuga de la cruz
Servidores web
Servicios web
Páginas dinámicas
Exposicion
Entrada 10
Cliente web y servidor web
Servlet
Protocolo http
Presentación2.pptx
Servidor web, plataforma para 24
13. servidor http
Fundamentos de la web
ACTIVIDAD 5
Protocolo syslog
 
Modelo cliente servidor
Cliente web
Publicidad

Similar a Http 1.1 clase 4 - curso front-end 2014 - open webinars (20)

ODP
Protocolo http
PDF
TELEMATICA 3 - CAPA DE APLICACION Y SERVICIOS DE RED - HTTP
DOC
PPTX
Dn12 u3 a9_dzlm
PPTX
PROTOCOLO HTTP.pptx
PPTX
protocolo HTTP
PPT
La capa de aplicación
PPTX
capa de aplicacion-sisco-netwokrs.pptx
ODP
protocolos web y cilente_servidor
PDF
Generación de web sites dinámicos usando php
PDF
Generación de web sites dinámicos usando php
PPT
2.12 http
PPTX
Introducción al Internet y sus servicios
PDF
Apache
PDF
Apache avanzado
DOCX
trabajo monografico
PPTX
Fundamentos técnicos de internet
Protocolo http
TELEMATICA 3 - CAPA DE APLICACION Y SERVICIOS DE RED - HTTP
Dn12 u3 a9_dzlm
PROTOCOLO HTTP.pptx
protocolo HTTP
La capa de aplicación
capa de aplicacion-sisco-netwokrs.pptx
protocolos web y cilente_servidor
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando php
2.12 http
Introducción al Internet y sus servicios
Apache
Apache avanzado
trabajo monografico
Fundamentos técnicos de internet
Publicidad

Último (20)

PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Tomo 1 de biologia gratis ultra plusenmas
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Tomo 1 de biologia gratis ultra plusenmas
2 GRADO UNIDAD 5 - 2025.docx para primaria
Cosacos y hombres del Este en el Heer.ppt
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Fundamentos_Educacion_a_Distancia_ABC.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Lección 6 Escuela Sab. A través del mar rojo.pdf

Http 1.1 clase 4 - curso front-end 2014 - open webinars

  • 1. HTTP 1.1 Hypertext Transfer Protocol OpenWebinars Curso de front-end (2014) Sergio Rus @sergiorus
  • 3. ● Protocolo de propósito general ● Originalmente diseñado para hypermedia (HTML) ● Modelo cliente-servidor ● Stateless (no se guarda el estado) ● Conexiones persistentes (HTTP 1.1) ● API muy simple (métodos HTTP) Principales características
  • 4. Protocolo de propósito general HTTP fue originalmente diseñado para transmitir sólo documentos HTML. Posteriormente se amplió a otros tipos de datos (Internet media types, antes conocido como MIME types).
  • 5. Cliente-servidor El cliente (navegador web, app del móvil, etc) siempre es el que inicia la comunicación enviando una petición HTTP (HTTP request) al servidor. Éste procesa la petición, genera una respuesta y la envía al cliente mediante una respuesta HTTP (HTTP response).
  • 7. Petición (request) Una petición es un mensaje que transmite el cliente al servidor con el propósito de acceder a un recurso alojado en éste. Un recurso es cualquier pieza de información que pueda ser identificada con una URI (URL o URN). Los recursos no tienen porqué identificar sólo datos almacenados en el servidor. Un recurso puede ser un concepto.
  • 8. Respuesta (response) Es el mensaje que transmite el servidor al cliente en respuesta a su petición.
  • 9. Estructura de un mensaje HTTP Tanto las peticiones como las respuestas tienen una estructura similar: ● Línea de estado ● Encabezados ● Opcionalmente, el cuerpo del mensaje (datos)
  • 10. Estructura de un petición HTTP La línea de estado contiene: ● El método HTTP usado (GET) ● La URI del recurso (/) ● La versión del protocolo (HTTP 1.1) En HTTP 1.1 es obligatorio incluir siempre la cabecera Host. GET / HTTP 1.1 Host: www.example.com Accept: text/html
  • 11. Estructura de un respuesta HTTP La línea de estado contiene: ● La versión del protocolo (HTTP 1.1) ● El código de respuesta (200) ● Descripción del código (OK) El resto serían cabeceras y el cuerpo. HTTP/1.1 200 OK Date: Mon, 08 Dec 2014 19:04:39 GMT Content-Type: text/html
  • 12. Stateless Una de las características más importantes de HTTP es que todas las peticiones (requests) son independientes: no se guardan datos (estado) entre una petición y otra, es decir, el servidor debe tratar cada petición de forma independiente. Es una de las claves para poder escalar la arquitectura de la red hasta el tamaño de Internet.
  • 13. Conexiones persistentes HTTP es un protocolo de aplicación que requiere un protocolo de transporte para transmitir los datos. El protocolo de transporte (TCP, SPDY, etc) es el encargado de gestionar cada conexión: abrir conexión, transmitir datos, cerrar conexión. El coste de abrir una nueva conexión es muy alto, tanto para el cliente como para el servidor.
  • 14. Conexiones persistentes Gracias a las conexiones persistentes, característica añadida en la versión 1.1 de HTTP (versión actual), el cliente y el servidor pueden realizar varias peticiones HTTP reutilizando la misma conexión proporcionada por el protocolo de transporte. Aunque la conexión sólo se mantiene abierta por un tiempo limitado cuando deja de haber actividad.
  • 15. Conexiones persistentes Aunque las conexiones persistentes permiten minimizar el número de conexiones requeridas, actualmente los navegadores pueden abrir de media hasta 6 conexiones simultáneas por host. El problema es que también existe un límite para el número total de conexiones simultáneas a lo largo de todos los hosts. La cifra varía mucho de un navegador a otro, pero se mueve entre 10 y 17.
  • 16. Conexiones persistentes Conclusión: minimizar el número de conexiones totales tratando de reutilizar las conexiones ya abiertas (conexiones persistentes) y aprovechando la caché del navegador. ¡La conexión más rápida es aquella no efectuada!
  • 17. ● GET: Obtener un recurso. ● POST: Crear un recurso. ● PUT: Actualizar o crear un recurso (si no existía). ● DELETE: Eliminar un recurso. ● OPTIONS: Información del servidor. ● HEAD: Igual que GET, pero sólo obtiene cabeceras. Métodos HTTP Con ellos el cliente indica al servidor qué tipo de acción quiere realizar. Los más usados son:
  • 18. curl -v www.example.com cur -v -X HEAD www.example.com curl -v -X OPTIONS www.example.com Métodos HTTP Veamos algunos ejemplos con cURL:
  • 19. ● 1xx Informational: Información provisional. ● 2xx Success: La acción se realizó correctamente. ● 3xx Redirection: El cliente debe realizar otra acción. ● 4xx Client Error: Error en la petición del cliente. ● 5xx Server Error: Error del servidor al procesar la petición. Status codes Los códigos de respuesta se pueden dividir en 5 categorías: