Tema4

Páginas: 5 (1104 palabras) Publicado: 6 de septiembre de 2015
Servicios Web y Arquitecturas REST

Arquitecturas REST (Representational State Transfer)

Dr. Javier Parra Fuente
1

Protocolo HTTP




Hypertext Transfer Protocol




Protocolo orientado a transacciones





Protocolo sin estado

RFC 2616:
http://www.ietf.org/rfc/rfc2616.txt
Esquema petición/respuesta entre un
cliente (navegador) y un servidor web
Basado en la localización de recursos(URLs)
Puerto 80
2

Protocolo HTTP



Modelo de comunicación web

Cliente
Web
(Navegador)

Petición
HTTP
Servidor
Web
Respuesta

HTTP



Paquete HTTP

Cabecera
Cuerpo

3

Protocolo HTTP - Petición

GET / HTTP/1.1
Host: www.google.es
User-Agent:



Métodos:







GET: Solicita un recurso
PUT: Actualiza un recurso
POST: Solicita procesar recurso con los datos enviados
DELETE:Elimina un recurso
Otros métodos: HEAD, TRACE, OPTIONS y CONNECT

4

Protocolo HTTP - Petición



Atributos de la Cabecera HTTP:












Accept: Tipos de contenido aceptados
Accept-charset: Conjunto de caracteres aceptados
Accept-encoding: Codificación caracteres aceptados
Accept-language: Idiomas aceptados
Cookie: Cookie enviada previamente por el servidor
Content-length: Longitudde la petición
Content-type: Tipo MIME del cuerpo de la petición
Date: Fecha/hora de la solicitud

GET / HTTP/1.1
Host: www.google.es
User-Agent:


User-Agent: Tipo agente de usuario utilizado
Otros atributos: Authorization, Cache-control,
Connection, If-Modified-Since, If-None-Match

5

Protocolo HTTP - Respuesta

HTTP/1.1 200 OK
Date:
Content-type: text/htmlContent-length:





Códigos de respuesta:







1xx: Mensajes
2xx: Operación exitosa
3xx: Redirección
4xx: Error en el cliente (p.e: 404, no encontrado)
5xx: Error en el servidor

6

Protocolo HTTP - Respuesta



Atributos de la Cabecera HTTP:








Content-encoding: Codificación utilizada en el mensaje





Server: Identifica el tipo de servidorContent-language: Idioma utilizado en el mensaje
Content-length: Tamaño del mensaje
Content-type: Tipo MIME del contenido
Date: Fecha/hora de la respuesta
Expires: Fecha de expiración del contenido para eliminarse de la
caché

Set-cookie: Activa una cookie en el cliente
Otros atributos: Cache-control, Content-location, Etag, WWWAuthenticate

7

Protocolo HTTP - Ejemplo



http://web-sniffer.net/

8

REST



Estilo arquitectónico de servicios web




Toma como referencia el protocolo HTTP

Basado en el modelo de comunicación de la World
Wide Web
Basado en la gestión de recursos en lugar de
métodos de negocio

9

REST – Métodos



Utiliza directamente los métodos HTTP:



POST: crea un recurso
POST /usuarios HTTP/1.1
Host: miservidor
Content-type: application/xml

Javier




GET: obtiene un recurso
GET /usuarios/Javier HTTP/1.1
Host: miservidor
Accept: application/xml
10

REST – Métodos



PUT: modifica un recurso
PUT /usuarios/Javier HTTP/1.1
Host: miservidor
Content-Type: application/xml

Juan




DELETE: elimina un recurso
DELETE /usuarios/Javier HTTP/1.1
Host: miservidor

11

REST – URI (Uniform ResourceIdentifier)



Localización del recurso web
GET HTTP/1.1
Host: miservidor
Accept: application/xml




Debe ser autodescriptivo
Recursos organizados jerárquicamente
http://www.servicio.org/empresa/empleados/{empleado}

12

REST – Atributo Content-type




Indica el tipo MIME de la petición HTTP
Facilita la correcta interpretación por el servidor
POST /usuarios HTTP/1.1
Host: miservidorContent-type: application/xml

Javier


13

REST – Atributo Accept




Indica el tipo MIME de la respuesta
Facilita la correcta interpretación por el cliente
GET /usuarios/Javier HTTP/1.1
Host: miservidor
Accept: application/xml



Ejemplos:





JSON: application/json
XML: application/xml
XHTML: application/xhtml+xml
14

REST vs. SOAP



Ejemplo:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tema4
  • Tema4
  • Tema4
  • tema4
  • Tema4
  • TEMA4
  • TEMA4
  • Tema4

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS