Artículos de Tecnología

REST: Concepto y Fundamentos

guilherme-lima
guilherme-lima
img-portada

REST (Representational State Transfer, que significa Transferencia Representacional de Estado) es un modelo de arquitectura y no un lenguaje o tecnología de programación, que proporciona pautas para que los sistemas distribuidos se comuniquen directamente utilizando principios y protocolos web existentes sin necesidad de SOAP u otro protocolo sofisticado.

El origen del termino REST

Los conceptos de REST se presentaron en las tesis doctoral de Roy Fielding en la década de los 2000, dónde el principio fundamental es utilizar el protocolo HTTP para la comunicación de datos.

Puedes encontrar en este artículo:

La arquitectura REST es simple y brinda acceso a los recursos para que el cliente REST acceda y represente los recursos en el lado del cliente. El estilo REST, URI o ID globales ayudan a identificar cada recurso.

Esta arquitectura utiliza varias representaciones de recursos para representar su tipo como XML, JSON, texto, imágenes,etc.

Vale la pena señalar que REST no se limita a registrar solicitudes y respuestas. También es posible insertar un nuevo registro o eliminar uno ya existente.

Responsabilidad REST

Existe un principio en REST llamado STATELESSNESS (sin estado), dónde el servidor no necesita saber en qué estado se encuentra el cliente y viceversa. Pero, ¿qué es un servidor y un cliente?

Cliente: Es el componente solicitante de un servicio que envía solicitudes de varios tipos de servicios al servidor.

Servidor: Es el componente que es el provedor de servicios y propociona continuamente servicios al cliente según las solicitudes.

En esta arquitectura el modelo, cliente-servidor ayuda en la separación de responsabilidades entre la interfaz de usuario y el almacenamiento de datos. Es decir, cuando se realiza una solicitud REST, el servidor envía una representación de los estados que se solicitaron.

No existe un límite tope en la cantidad de clientes que un solo servidor puede atender. Tampoco es obligatorio que el cliente y el servidor se encuentren en sistemas separados.

La comunicación entre el cliente y el servidor se lleva a cabo mediante el intercambio de mensajes utilizando un patrón de solicitud-respuesta. El cliente básicamente envía una solicitud de servicio y el servidor devuelve una respuesta.

Solicitudes y comunicaciones

REST requiere que un cliente realice una solicitud al servidor para enviar o modificar datos. Una solicitud consiste en:

Métodos HTTP

En la aplicación REST, los métodos más utilizados son:

Códigos de respuesta

A cada respuesta que devuelve la aplicación REST se le envía un código que define el estado de la solicitud. Por ejemplo:

Conclusión

En este artículo presentamos el origen, conceptos y fundamentos principales de REST. Los cursos de programación de Alura pueden ayudarte a iniciarte, aprender y desarrollarte en tecnología y además, luego puedes profundizar y utilizar esta arquitectura en la gestión de estados de React por ejemplo.

img-autor

Guilherme Lima

Es desarrollador de software con título en Sistemas de Información y experiencia en programación usando diferentes tecnologías como Python, Javascript y Go. Creador de más de 30 cursos en diferentes áreas de la plataforma enfocados en la formación de profesionales de TI, como Data Science, Python para la web con Django y Django Rest, juegos con Javascript, Infraestructura como código con Terraform y Ansible, Orientación a objetos con Go. Además es instructor de Dev Immersion en Alura.

Traducido por Luis Puig

Artículos de Tecnología

En Alura encontrarás variados cursos sobre . ¡Comienza ahora!

Precios en:
USD
  • USD
  • BOB
  • CLP
  • COP
  • USD
  • PEN
  • MXN
  • UYU

Semestral

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 6 meses
US$ 65.90
un solo pago de US$ 65.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Anual

  • 273 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro y comunidad exclusiva para resolver tus dudas
  • Luri, la inteligencia artificial de Alura

    Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana

  • Acceso a todo el contenido de la plataforma por 12 meses
US$ 99.90
un solo pago de US$ 99.90
¡QUIERO EMPEZAR A ESTUDIAR!

Paga en moneda local en los siguientes países

Acceso a todos
los cursos

Estudia las 24 horas,
dónde y cuándo quieras

Nuevos cursos
cada semana