我是 RESTful 网络服务的新手。我们正在采用 REST 路线来构建我们的公共(public) Web 服务,供我们的客户使用。我有几个问题。
纯 REST 网络服务是否有任何限制?如果是,那么混合 REST Web 服务会解决这些限制吗?
我正在考虑在授权 header 中使用 SSL + 哈希消息身份验证代码 (HMAC) 以确保安全性以及基于 IP 的过滤。大家怎么看呢?
有没有好的客户端测试工具? 目前我正在使用以下 http://code.google.com/p/rest-client/
那么某种客户端代码生成工具呢?
以下链接是我的信息来源。
最佳答案
首先要记住的是 REST 服务应该是无状态的,这与 SOAP/RPC 类型的服务接口(interface)相比有很大不同。使用 REST 方法需要您重新考虑您希望客户如何与服务交互,将交互分解为清晰简洁的方法调用。
休息
+ 轻量级消息,开销很小(除了 XML 本身)
+ 易于阅读的结果,可以轻松地使用网络浏览器进行测试
+ 易于实现
- 更宽松的接口(interface),宽松的类型检查
肥皂
+ 更严格,有严格的合约定义
+ 大量可用的开发工具。
查看 WCF MSDN 文档,从一开始就集成了 WCF SOAP 支持,而 REST 支持是最近添加的功能。我自己很难找到有关 REST 服务的身份验证/安全性的文档,因为大多数文档都是针对 SOAP 的。
客户端生成工具:我还没有遇到任何用于 REST 服务的工具,因为 REST 没有像 SOAP 那样定义服务契约。 WADL 是为 REST 服务做的尝试。 http://en.wikipedia.org/wiki/Web_Application_Description_Language http://wadl.codeplex.com/
我有兴趣阅读更多有关身份验证和安全性的回复,因为我自己也在研究这个问题。
关于c# - RESTful 网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302714/