Junto con la mitad de la comunidad de desarrolladores web, he estado luchando por asimilar de verdad el estilo REST. Más específicamente, he estado tratando de formarme una opinión sobre cuán práctica es realmente una arquitectura RESTful pura entre un navegador web y un servidor de aplicaciones.¿La API de Twitter * realmente * es RESTful?
Como parte de mi esfuerzo de aprendizaje, he echado un vistazo a algunos ejemplos en línea de REST, específicamente Twitter en este caso. En su API documentation, discuten sus diversos "métodos REST API".
Estoy luchando con la racionalización de cómo exactamente la mayoría de estos son realmente RESTful, más allá de tener una estructura de URL RESTful. Considere, por ejemplo, una simple solicitud GET a http://twitter.com/favorites.
En una implementación pura de REST, esperaría que las solicitudes idénticas a esa URL, independientemente del cliente que inicia, devuelvan respuestas idénticas. Sin embargo, en este caso particular, obviamente todos veríamos diferentes respuestas dependiendo de nuestros usuarios actualmente autenticados, lo que implica que nuestras solicitudes se están conectando a algún tipo de estado de cliente en el servidor antes de que se pueda generar una respuesta.
Afortunadamente eso proporciona suficiente contexto para mi pregunta, entonces - ¿realmente se puede llamar "REST"? Me da la impresión de que el 90% de las llamadas implementaciones RESTful entre navegadores web y servidores de aplicaciones demuestran esta misma inconsistencia, donde se ignoran las restricciones sobre el estado del cliente almacenado en el servidor.
Véase también http://stackoverflow.com/questions/243388/what-exactly-does-rest-mean-what-is-it-and-why-is-it-getting-big-now –