REST

REST (REpresentational State Transfer)

Estilo arquitectonico presentado en Architectural Styles and the Design of Network-based Software Architectures para la obtención de Doctor en Filosofía en Información y Ciencias Computacionales por Roy Thomas Fielding.

Restricciones

  1. Modelo Cliente-Servidor
  2. Comunicación carente de estado (stateless)
  3. Cacheable
  4. Interfaz uniforme: la famosa API REST.
  5. Sistema en capas.
  6. Código bajo demanda: opcional, aunque JavaScript (en el Navegador Web) cumpliría esta carácteristica.

Objetivos

  • Escalabilidad.
  • Generalidad de interfaz.
  • Independencia de despliegue de componentes.
    • Desacoplamiento.

Consideraciones

  • Orientado a recursos.
    • Todo es expuesto mediante URLs.
  • Los recursos son accesibles e identificables uno de otro.
  • La comunicación entre cliente y servidor se hace mediante HTTP, haciendo uso de sus métodos, códigos de estado, cabeceras de solicitud/respuesta y el cuerpo de solicitud/respuesta.

Vídeos

Lecturas