Restful(一)
?如何区分市场上各种web服务,不是看他采用的具体技术,而是看他的架构以及蕴含的设计哲学,可以用下面2种问答
?一.从方法来讲,客户端是如何将它的意图传给服务器的
?? 传统的企业应用(如采用struts,webwork)都是请求头里包含方法信息,如XXX.action,XXX.do,这个XXX就会被服务器定位到具体哪个方法,而HTTP原生方法就是get,post
?? soap是将方法等重要信息大部分包含在请求体里的当然也有一些在请求头内.
?? Restful是将方法信息是定义在标准的http方法内的
?二.从范围来讲,客户端如何告诉服务器它想要操作哪部分的数据
??? 目前市面上都将范围信息封装在uri中,传统企业应用的方法名就隐含着范围信息
??? restful的范围信息也是包含在uri中
?? ?
? 如果http的方法信息与实际服务器处理的方法信息不匹配,那就不是restful
? 如果范围信息不包含在url中,那这个服务就不是面向资源的
?
? RPC-style services 不面向资源也不面向方法
? REST-RPC? services 面向资源却不面向方法。甚至取信息的时候是restful的,但修改信息是rpc-style的。。