¿Qué es REST (en inglés simple) [cerrado]

81

Últimamente me he interesado en familiarizarme con REST. Intenté leer entrada de wiki en REST , pero no sirvió de nada. Realmente apreciaría si alguien pudiera explicar en inglés simple (es decir, sin innecesario jerga tecnológica)

  1. ¿Qué es REST?
  2. qué posición ocupa en el ecosistema de arquitectura web
  3. Qué tan apretado (o suelto) está acoplado con el protocolo.
  4. ¿Cuáles son las alternativas a REST y cómo REST se compara con ellos?

Entiendo que puede que no sea posible responder esto en uno o dos párrafos, en ese caso los enlaces relevantes serán muy apreciados.

    
pregunta Gaurav 05.12.2010 - 11:38

3 respuestas

10
  

¿Qué es REST (en inglés simple)

Inglés sencillo:

Representación: la acción de hablar o actuar en nombre de alguien.
Transferencia de estado: estado de transferencia.

Técnico:

  • no transferimos un objeto real sino una representación del mismo en un formulario (por ejemplo, un xml / json / text para representar una tabla de base de datos).
  • REST para exponer una API pública a través de Internet para manejar las operaciones CRUD en los datos. REST se centra en acceder a recursos con nombre a través de una única interfaz coherente.
  • REST es representes a través de algún tipo de medio. Algunos ejemplos de tipos de medios incluyen XML, JSON y RDF.
  • REST es un estilo arquitectónico para arquitectura orientada a recursos (ROA) , no es una especificación o un estándar.
  • El estilo arquitectónico significa que es un concepto, una teoría (y cómo se implementa, depende de usted)
  • Todo se identifica por un punto final único. es decir, hay un punto final para cada recurso (datos).
  • El punto final consiste en un nombre de dominio con dirección de recurso.

REST vs SOAP

    
respondido por el Premraj 02.07.2015 - 04:11
42

¿Qué es REST?

Transferencia de estado representativa. Describe cómo un sistema puede comunicar el estado con otro. Un ejemplo sería el estado de un producto (su nombre, descripción, etc.) representado como XML, JSON o texto sin formato. La idea generalizada de estado se denomina recurso.

¿Qué posición ocupa en un ecosistema de arquitectura web?

REST se asocia comúnmente con la interfaz de servicios web ya que HTTP es, con mucho, el protocolo de operador más común. En el modelo de 7 capas, existe en la capa de aplicación . Sin embargo, vea la siguiente sección.

¿Qué tan ajustado (o sin apretar) está acoplado con el protocolo?

REST no es HTTP. Utiliza HTTP porque en su forma más general existe REST para ayudar a una máquina a mapear el concepto de un verbo contra una colección arbitraria de nombres. HTTP contiene un conjunto útil de verbos genéricos (GET, PUT, PATCH, etc.) que se pueden aplicar a nombres arbitrarios expresados como URI mediante HTTP, por ejemplo. OBTENGA enlace ).

¿Cuáles son las alternativas a REST y cómo REST se compara con ellos?

Esto es similar a preguntar "¿Qué tan RESTful es mi enfoque?" Utilice la siguiente lista (que se resume en el modelo de madurez de Richardson como lo describe Martin Fowler ):

Nivel 0 - El pantano de POX

Use POST para todo (lee, escribe, elimina). Esto es SOAP, POX, RPI, etc. Solo está utilizando HTTP como un túnel para su propio protocolo. Se dirige a un único punto final que hace todo en función del contenido del cuerpo de la solicitud.

Nivel 1 - Recursos

Usa POST para todo. Dirigirse a múltiples puntos finales diseñados para proporcionar información sobre una cosa en particular. Acabas de descubrir recursos.

Nivel 2 - Verbos HTTP

Usa verbos HTTP contra recursos. Ahora lo estás consiguiendo. POST es crear, PUT es sobrescribir, OPCIONES para las operaciones disponibles, BORRAR para, bueno, eliminar el recurso. Como resultado del uso de estos verbos, diferentes códigos de estado HTTP comienzan a ser más relevantes (202 ACEPTADO cualquier persona ?).

Nivel 3: control de hipermedia ( HATEOAS )

En este punto, da el salto final e introduce el hipermedia como un mecanismo de control de flujo. Un cliente REST no necesita conocimientos previos sobre cómo interactuar con una aplicación o servidor en particular más allá de una comprensión genérica de hipermedia. Esto se puede comunicar en HTTP a través del campo de encabezado Content-Type. Los formatos de texto incluyen AtomPub y (más conciso) HAL , mientras que HyperAudio funciona bien para las transmisiones de audio (vea SoundCloud et al)

    
respondido por el Gary Rowe 23.04.2012 - 17:26
11

Si bien REST es una abreviatura de Representational State Transfer, puede ser más fácil considerar la idea de realizar varias acciones a través de una interfaz algo intuitiva.

Por ejemplo, una URL como enlace puede interpretarse como alguien que desea obtener información sobre el producto con una identificación de 125.

Aunque generalmente se piensa en REST en términos de HTTP, el concepto podría aplicarse a otros protocolos como se señala en la referencia de Wikipedia.

Otros ejemplos de REST que pueden ser útiles:

respondido por el JB King 17.04.2012 - 22:18

Lea otras preguntas en las etiquetas