restfull和基本的http有什么区别呢?
最近刚开始接触webservice,看到soap的方式还可以理解,但看到restfull方式的我就不明白了,他是基于http的,顶多可以说是进行了一些封装,但这又有什么意义呢,这样的webservice和普通的web http有什么区别呢?小弟不懂,请大神给解释一下
------解决方案--------------------restfull是一种风格,不是规范,也不是所谓的封装,他只是将http协议用的更彻底了,我们在普通的开发中,虽然说是基于http的,但是http中很多东西我们都没有用到,比如http的put,delete提交方式,通过http的Accept和Content-Type参数获得不同格式的数据。
首先说url命名,每个url对应一种资源,也就你要请求的数据资源,通过url中的变参传参,比如说查询一个id为123的成员:http://localhost:8080/member/123,id值可以作为url的一部分。并且有一点非常重要,url中的命名都是名词而非动词(比如http://localhost:8080/getmember/123,这种命名就是不符合风格的,或者叫外行的命名)
其二,http,提供了get,post,delete,put,可以使用这四种不同的提交方式对应不同的业务操作,比如get就是查询,post是更新或新增,delete删除,put是update
第三,就是数据格式了,根据TTP请求的头信息中用Accept和Content-Type的类型,返回不同的数据格式,html,xml,json,图片等等。
第四,通过充分的使用http协议,我们可以忽略交互双方的平台,语言等等,就和websevice一样,我们要的仅仅的数据,符合规范格式的数据。
以上纯属个人认识,纯手打