RESTful服务必须始终基于HTTP吗?

tid*_*idy 6 rest http

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

Dav*_* S. 6

简短的答案是,RESTful服务通常确实暗示使用HTTP,但这并不是严格必需的。 Wikipedia条目包括有关Web外部实现的部分,尽管它很简短,并且实际上仅讨论了通用管理信息协议(CMIP)。

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

您肯定可以从Web上的RESTful协议中获得启发,并在原始TCP上构建自己的类似协议,但是您很可能会发现自己使用HTTP语言来实现它。那时,您可能想问自己一个问题,为什么首先不使用HTTP。


Aur*_*ien 5

如果你看一下Roy Fielding 的博士论文,你会发现 REST 在第 5 章中定义,而它在第 6 章中应用于 HTTP。

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