Web API与RESTful服务

时间:2017-02-05 10:00:53

标签: web-services rest asp.net-web-api2

我被问及Web API和RESTful服务之间的区别,这对我来说也是一个有趣的问题。从我的角度来看,RESTful服务和Web API之间唯一可能的区别可以被认为是RESTful服务本质上意味着无状态(虽然我们可以使用cookie),而本质上无状态的概念不适用于Web API因为我们可以使用会话(不能在RESTful服务中使用)。

但是,我决定发布这个问题,看看是否存在将这两种技术相互区分的其他潜在差异。

2 个答案:

答案 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架构风格的规则。