jiaoly 2009-11-06
WCF经过长时间的发展,很多用户都很了解WCF REST架构了,这里我发表一下个人理解,和大家讨论讨论。不同的人似乎对REST有不同的定义,有些定义是非常严格的,而有些则是比较自由的。我倾向于认为WCF REST架构存在于一个连续的范围里, 如图所示:
我们可以认为WCF REST架构背后隐含的基本理念如下:
◆越简单越好
◆Web一直是非常成功的。
◆Web是很简单的。
◆Web设计要遵循一些指导性原则,而这些原则在过去很长一段时间内都是可靠的。
◆Web 服务的设计要以 Web的方式。
不同的人对 REST有不同的定义,但可以肯定的是存在一些特征来影响一个服务是否是RESTful的,或者它能不能被认为是RESTful, 或者它能否落在上面这个连续范围内的某个位置。这里列出一些(并不是全部)特征:◆对HTTP 方法(GET,PUT,POST,DELETE是主要的HTTP方法)的合理使用――HI-REST端倾向于对具体方法用于具体的情景进行严格的规定。例如一个HI-REST的实现中使用GET方法获取,DELETE方法用来删除,PUT方法用来插入或者更新,而POST方法则用来附加。而LO-REST 的解决方案则可能使用POST方法做插入,更新,删除和附加操作。
◆对数据表现形式的选择――HI-REST解决方案倾向于选择标准的数据表现形式,而一些LO-REST解决方案则认为POX也是一个不错的选择。
◆对良好构造的URI的使用――HI-REST解决方案倾向于使用描述性的URI而一般情况下不使用查询字符串,而我们在一些LO-REST解决方案中可以看到对查询字符串的使用。