我在一个RESTful应用程序中工作,当我阅读有关REST时,我发现REST是一种建筑风格,而不是架构,但我不明白原因。感谢您的回答。为什么REST是一种建筑风格而不是建筑?
对不起,我的英文不是我的母语。
我在一个RESTful应用程序中工作,当我阅读有关REST时,我发现REST是一种建筑风格,而不是架构,但我不明白原因。感谢您的回答。为什么REST是一种建筑风格而不是建筑?
对不起,我的英文不是我的母语。
架构是规定性的,通常为解决方案提供蓝图,并定义核心构建块。例如,“客户端 - 服务器”体系结构定义了客户端,服务器以及这两个组件所扮演的角色。
的建筑风格提供了一个框架来思考解决方案 - 通过URL REST中,资源可寻址的概念的情况下,一个词汇操纵这些资源,无国籍等
这是很重要的,因为问题“这是一个客户服务器体系结构”可以很容易地回答 - 是否有客户端,是否连接到服务器,每个服务器都有明确的责任? “这是一个RESTful解决方案”这个问题很难回答 - 它要求您查看解决方案是否遵循REST的心理模型。
嗯,我不太清楚,但我认为,这是因为REST只描述了,应该是资源,由唯一的URL代表的资源,以及由它们表示的动作,由HTTP动词和请求数据表示。 但是数据格式,是资源对象还是不是开发者的决定。
也许,即使HTTP是没有必要的。
REST为设计分布式系统(主要是“超媒体”系统)提供了指导。这是基于Roy Fielding的工作。为了在“架构风格”和“架构”之间清楚地说明,您可以将“架构风格”看作设计“具体架构”(或具体实现)的一组原则。以REST为例,您可以看到例如定义了几个具体实现,例如java开发了自己的REST架构风格的实现:JAX-RS(https://jax-rs-spec.java.net/,https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html)。