¿Cuál es la diferencia entre REST y RESTful?

Resuelto AwkwardCoder asked hace 15 años • 16 respuestas

¿Cuál es la diferencia entre un sistema REST y un sistema RESTful?

Según algunas cosas que he leído, la mayoría de los llamados servicios REST son en realidad servicios RESTful. Entonces, ¿cuál es la diferencia entre los dos?

AwkwardCoder avatar Oct 15 '09 03:10 AwkwardCoder
Aceptado

La transferencia de estado representacional (REST) ​​es un estilo de arquitectura de software. Como lo describe Roy Fielding en una disertación, REST es un "estilo arquitectónico" que básicamente explota la tecnología y los protocolos existentes de la Web.

RESTful se utiliza normalmente para referirse a servicios web que implementan dicha arquitectura.

Justin Ethier avatar Oct 14 '2009 20:10 Justin Ethier

Servicios/Arquitectura basados ​​en REST versus Servicios/Arquitectura RESTFUL

Para diferenciar o comparar estos 2, debes saber qué es REST .

REST ( RE Presentational S tate T ransfer) es básicamente un estilo arquitectónico de desarrollo que tiene algunos principios:

  • debería ser apátrida

  • Debería acceder a todos los recursos del servidor usando solo URI.

  • No tiene cifrado incorporado.

  • no tiene sesion

  • Utiliza un único protocolo: HTTP.

  • Para realizar operaciones CRUD, debe utilizar verbos HTTP como get, postyputdelete

  • Debería devolver el resultado sólo en forma de JSON o XML, átomo, OData, etc. (datos ligeros)

REST based servicesseguir algunos de los principios anteriores y no todos

RESTFUL servicessignifica que sigue todos los principios anteriores.

Es similar al concepto de:

Object oriented languagesadmite todos los conceptos de programación orientada a objetos, ejemplos : C++, C#

Object-based languagesadmite algunas de las funciones de programación orientada a objetos, ejemplos : JavaScript, VB


Ejemplo :

ASP Dot NET MVC 4 es REST-Basedmientras que Microsoft WEB API es RESTFul.

MVC admite solo algunos de los principios REST anteriores, mientras que WEB API admite todos los principios REST anteriores.

MVC solo admite lo siguiente desde la API REST

  • Podemos acceder al recurso usando URI.

  • Admite el verbo HTTP para acceder al recurso desde el servidor.

  • Puede devolver los resultados en forma de JSON, XML, es decir, HTTPResponse.

Sin embargo, al mismo tiempo en MVC

  • Podemos usar la sesión.

  • Podemos hacerlo con estado

  • Podemos devolver video o imagen desde el método de acción del controlador que básicamente viola los principios REST.

Es por eso que MVC es REST-Basedmientras que WEB API admite todos los principios anteriores y es RESTFul.

Pramod Nikumbh avatar Jul 05 '2014 07:07 Pramod Nikumbh

"REST" es un paradigma arquitectónico. "RESTful" describe el uso de ese paradigma.

SingleShot avatar Oct 14 '2009 20:10 SingleShot