10

许多网站(例如twitterstackexchange)提供基于 HTTP 协议的 RESTful OPEN API。我可以设计基于其他协议(例如原始 TCP)的 RESTful 服务吗?

4

3 回答 3

10

简短的回答是 RESTful 服务通常确实隐含 HTTP,但这并不是绝对必要的。 维基百科条目包括关于网络之外的实现的部分,尽管它非常简短并且实际上只讨论了通用管理信息协议 (CMIP)。

实际上,对于大多数开发人员来说,RESTful 服务通过 HTTP 运行。

您当然可以从 Web 上的 RESTful 协议中获得灵感,并在原始 TCP 上构建您自己的类似协议,但您可能会发现自己使用 HTTP 语言来实现它。到那时,您可能想问自己为什么不首先使用 HTTP。

于 2013-03-04T03:49:18.547 回答
3

如果您查看Roy Fielding 的博士论文,您会看到第 5 章定义了 REST,而第 6 章将其应用于 HTTP。

“具象状态转移”确实是相当抽象的。您没有理由不能将它应用到您自己的adhoc协议中。目的是使其成为无状态的,拥有安全的读取方法(可缓存),如果可能的话,还有幂等的写入方法。

于 2013-03-04T07:11:40.217 回答
0

如果您坚持架构的真正租户,其中每个操作都对历史操作一无所知,您可能会鼓起一些不同的东西。目前,简单的 Put、get、post 和 delete 操作非常适合基于 http 的服务调用。

于 2013-03-04T03:50:37.553 回答