Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Programación

REST: Concepto y Fundamentos

Alura
guilherme-lima
guilherme-lima
17/11/2022

Compartir

Mira este artículo:
  1. El origen del termino REST
  2. Responsabilidad REST
  3. Solicitudes y comunicaciones
  4. Métodos HTTP
  5. Códigos de respuesta
  6. Conclusión

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:

  • El origen del termino REST
  • Responsabilidades de REST
  • Solicitudes y comunicaciones
  • Métodos HTTP
  • Códigos de respuestas
  • Conclusión

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:

  • Un verbo o método HTTP que define qué tipo de operación realizará el servidor.
  • Un encabezado, con el encabezado de solicitud que pasa información sobre la solicitud.
  • Un camino o ruta al servidor, como por ej: https://app.aluracursos.com/course/http-base-internet
  • Información en el cuerpo de la solicitud, siendo esta información opcional.

Métodos HTTP

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

  • El método GET es el método más común, generalmente se usa para solicitar a un servidor que envíe un recurso;

  • El método POST está diseñado para enviar datos de entrada al servidor. En la práctica, a menudo se usa para admitir formularios HTML;

  • El método PUT edita y actualiza documentos en un servidor;

  • El método DELETE que, como su nombre lo indica, elimina un determinado dato o colección del servidor.

En este enlace encontrarás la lista completa de todos los métodos.

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:

  • 200 (OK) solicitud cumplida con éxito.

  • 201 (CREADO) objeto o recurso creado con éxito.

  • 204 (SIN CONTENIDO) objeto o recurso eliminado con éxito.

  • 400 (MALA SOLICITUD) ocurrió un error en la solicitud (puede haber numerosas causas).

  • 404 (NO ENCONTRADO) ruta o colección no encontrada.

  • 500 (ERROR INTERNO DEL SERVIDOR), se ha producido algún error del servidor.

Estos son los principales, no obstante en este enlace encontrarás la lista completa del código de cada solicitud.

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ículo Anterior
Las características más destacables de Java 8 en adelante
Siguiente Artículo
Power BI: tipos de licencia

Ver otros artículos sobre Programación

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast