tutorial restful protocol paradigm meaning example ejemplo http rest terminology

http - restful - ¿A qué se refiere la "transferencia estatal" en la transferencia estatal representativa(REST)?



rest protocol (3)

¿A qué se refiere la transferencia estatal en la transferencia estatal representativa?

Encontré algunas explicaciones sobre esto (por ejemplo, here ) pero todavía no entiendo. Por ejemplo en el artículo se dice.

La representación coloca la aplicación cliente en un estado.

¿Por qué? ¿Qué tiene que ver el estado (como lo entiendo, algo así como una sesión) con una representación de un recurso?


¿Por qué? ¿Qué tiene que ver el estado (como lo entiendo, algo así como una sesión) con una representación de un recurso?

Un objeto tiene atributos (o estado) y comportamientos (o métodos).

Si quiero mover un objeto de mi escritorio a un servidor, debo hacer lo siguiente:

  1. Crear una representación del estado del objeto.

  2. Transfiera esa representación del escritorio al servidor.

Los métodos que no transfiero. Instalo la misma definición de clase en ambas máquinas.

Por lo tanto, REST se trata de crear una representación del estado actual del objeto para que pueda transferirse a otro servidor desde el cual se pueda reconstruir el objeto.

Solo enviamos el estado - los atributos - del objeto. Y tenemos que crear una representación externa, serializada de ese estado.


Considere una aplicación cliente como una especie de máquina de estado gigante. El estado inicial del cliente es igual a la primera representación devuelta por el servidor. Los enlaces en la representación devuelta proporcionan posibles "transiciones de estado".

Hay que tener en cuenta que hay dos tipos principales de enlaces, pasivos y activos. Los enlaces pasivos como <img> y <link rel="stylesheet"> no causan realmente una transición de estado, simplemente aumentan el estado actual. Los enlaces como <form> y <a> sin embargo, son enlaces activos y son la causa de una transición de estado. Después de seguir uno de estos enlaces, el nuevo estado del cliente es igual a la representación devuelta, también conocida como transferencia de estado .

Si está acostumbrado a crear aplicaciones cliente de escritorio tradicionales, encontrará que esta es una arquitectura radicalmente diferente. No es uno de los que es probable que se quejan durante la noche Inicialmente, este enfoque puede parecer muy limitante, pero cuando considera que una aplicación cliente puede ser el host de muchas máquinas de estados que ejecutan simultáneamente, comenzará a darse cuenta de que puede hacer casi cualquier cosa que pueda usar una arquitectura de objetos remotos y aún así mantener la libertad. Acoplamiento de navegador web.


La web está compuesta de recursos. Un recurso es cualquier elemento de interés. Por ejemplo, theBoeing Aircraft Corp puede definir un recurso de 747. Los clientes pueden acceder a ese recurso con thisURL: http://www.boeing.com/aircraft/747A devuelve una representación del recurso (por ejemplo, Boeing747.html). La representación coloca la aplicación cliente en un estado. El resultado del cliente que atraviesa un hipervínculo inBoeing747.html es que se accede a otro recurso. La nueva representación coloca la aplicación cliente en otro estado. Por lo tanto, la aplicación del cliente cambia (transfiere) el estado con cada representación de recurso -> ¡Transferencia de estado representativa!