我被问及Web API和RESTful服务之间的区别,这对我来说也是一个有趣的问题。从我的角度来看,RESTful服务和Web API之间唯一可能的区别可以被认为是RESTful服务本质上意味着无状态(虽然我们可以使用cookie),而本质上无状态的概念不适用于Web API因为我们可以使用会话(不能在RESTful服务中使用)。
但是,我决定发布这个问题,看看是否存在将这两种技术相互区分的其他潜在差异。
答案 0 :(得分:9)
您正在比较编程框架和设计范例。这不是一个公平的比较。
Web API是一种Web服务应用程序框架。您可以使用它来实现REST API,但您 。您也可以在其中编写RPC样式的服务,或者实际上只是任何一种谈论HTTP但不(严格地)遵守REST原则的应用程序。
答案 1 :(得分:4)
REST只是一种架构风格。它不是任何协议或框架。您可以使用许多框架和编程语言实现RESTful服务。 Web API只是.NET中的一种。
RESTful服务确实是无状态的。 以下是REST主要约束的列表:
有关REST架构的更多详细信息,我建议使用此link下的Roy Fielding的出版物。
回过头来看,您可以使用Web API框架实现RESTful服务,但前提是您遵循REST架构风格的规则。