我正在使用RESTful应用程序,当我阅读REST时,我发现REST是一种架构风格而不是架构,但我不明白其中的原因。谢谢你的回答。
对不起我的英语,这不是我的母语。
答案 0 :(得分:6)
体系结构是规范性的,通常为解决方案提供蓝图,并定义核心构建块。例如,“客户端 - 服务器”架构定义了客户端,服务器以及这两个组件所扮演的角色。
架构风格提供了一个思考解决方案的框架 - 在REST的情况下,可以通过URL寻址资源的概念,操纵这些资源的词汇,无状态等。
这很重要,因为“这是一个客户端服务器架构”这个问题很容易回答 - 是否有客户端,是否连接到服务器,是否有明确的责任?问题“这是一个RESTful解决方案”更难回答 - 它要求您查看解决方案是否遵循REST的心理模型。
答案 1 :(得分:1)
REST提供了设计分布式系统的指南,主要是"超媒体"系统。这是基于罗伊菲尔丁的工作。在#34;建筑风格和#34;之间明确和"建筑"你可以想到"建筑风格"作为一套设计原则和#34;具体架构" (或具体实施)。在REST的情况下,您可以看到例如定义了几个具体实现,例如java已经开发了自己的REST架构风格实现:JAX-RS(https://jax-rs-spec.java.net/,https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html)。 / p>
答案 2 :(得分:0)
嗯,我不太知道,但我认为,因为REST只描述,应该是资源,由唯一的URL表示,以及由HTTP动词和请求数据表示的动作。 但数据格式是资源对象与否 - 开发人员的决定。
也许,甚至不需要HTTP。
答案 3 :(得分:0)
我不知道为什么REST被称为“建筑风格”。对我而言,REST只是进行同步调用的协议(在大多数情况下)。在程序中,您仍然具有基于操作的方法(如getAccount,transferAmount,createUser等)。所有这些方法都可以使用REST来实现。或SOAP。或其他一些协议。而且所有这些都假设有一些数据模型。
所以,在我看来,REST既不是建筑风格也不是建筑。