WCF实现REST服务
REST 表述性状态转移( Representational State Transfer,REST ),不是一种标准,而是一种软件架构风格。 基于 REST 的服务与基于 SOAP 的服务相比,性能、效率和易用性上都更高,而 SOAP 协议非常的复杂和不透明。 REST 受到越来越多的 Web 服务供应商欢迎。目前大部分供应商,如 yahoo 、 google 、 Amazon 等都提供 REST 风格的服务。 REST 的主要原则是: 1.网络上的所有事物都可被抽象为资源; 2.每个资源都有一个唯一的资源标识符 URI; 3.使用标准方法操作资源; 4.所有的操作都是无状态的; 5.通过缓存来提高性能。 REST 是基于 Http 协议的,任何对资源的操作行为都是通过 Http 协议来实现。 Http 把对一个资源的操作限制在 4 个方法以内: GET、POST、PUT 和 DELETE ,这正是对资源 CRUD 操作的实现。 REST 的资源表述形式可以是 XML 、 HTML 、 JSON ,或者其他任意的形式,这取决于服务提供商和消费服务的用户。 但是 REST 不是万能的。操作无状态也会带来巨大的安全问题,如何授权和验证用户?如果要求每次请求都包含完整的身份和验证信息,又如何避免信息泄漏?复杂的功能挑战架构的易用性,这就需要在性能与功能间权衡