随着一半的Web开发者社区一样,我一直在努力理解和真正掌握REST风格。更具体地说,我一直在尝试形成一些关于Web浏览器和应用程序服务器之间纯RESTful架构实际上有多实用的观点。
作为我的学习努力的一部分,我一直在查看一些在线REST示例,特别是在Twitter中。在他们的API文档中,他们讨论了各种“REST API方法”。
我很难理解大多数这些方法实际上如何符合RESTful标准,除了具有RESTful URL结构之外。例如,考虑对http://twitter.com/favorites的简单GET请求。
在REST的纯实现中,我期望该URL的相同请求无论由哪个客户端发起,都会返回相同的响应。然而,在这种情况下,我们显然会根据当前经过身份验证的用户看到不同的响应,这意味着在生成响应之前,我们的请求与服务器上的某种客户端状态进行了连接。
希望这提供了足够的背景来回答我的问题 - 那真的可以称为“REST”吗?我认为,在Web浏览器和应用程序服务器之间所谓的90%RESTful实现中,忽略了存储在服务器上的客户端状态的限制,存在着同样的不一致性。
作为我的学习努力的一部分,我一直在查看一些在线REST示例,特别是在Twitter中。在他们的API文档中,他们讨论了各种“REST API方法”。
我很难理解大多数这些方法实际上如何符合RESTful标准,除了具有RESTful URL结构之外。例如,考虑对http://twitter.com/favorites的简单GET请求。
在REST的纯实现中,我期望该URL的相同请求无论由哪个客户端发起,都会返回相同的响应。然而,在这种情况下,我们显然会根据当前经过身份验证的用户看到不同的响应,这意味着在生成响应之前,我们的请求与服务器上的某种客户端状态进行了连接。
希望这提供了足够的背景来回答我的问题 - 那真的可以称为“REST”吗?我认为,在Web浏览器和应用程序服务器之间所谓的90%RESTful实现中,忽略了存储在服务器上的客户端状态的限制,存在着同样的不一致性。