我在谷歌上搜索过关于rest的文档,但我不太清楚我是否理解它。
我在rest中看到的是它的URL是干净的,例如:
http://host/webservice.asmx?name=xname&type=xtype如果是REST风格的话,可能是:
http://host/webservice.asmx/xname/xtype难到不是么?
所以我刚刚发现URL比较干净,但是我找不到任何其他的优点。
有人能告诉我更多吗?
我还有几个问题:
更新:
我读过这篇文章(休息到妻子),似乎使用http(post/get/ put /delete)提供的动词,我们可以使用同一个url对资源执行不同的操作,只需将已实现的数据放在http主体中;例如,我想创建一个新的顺序:
POST http://www.store.com/order,
<purchase-order>
<item> ... </item>
</purchase-order>但我还有一些问题:
1)我们如何在页面中设置http主体?
ANother示例,我想删除一个订单:
删除http://www.store.com/order/1
但在页面中,url只是一个链接,
马比,它是这样的:
删除本命令
它是静态的,我们如何告诉浏览器,当它将这个url发送到服务器时,它应该使用“删除”方式,而不是“获取”?
2)它会导致服务器端的额外工作吗?
因为我们可以用不同的http方法发送相同的url (get/post.)对于服务器,因此服务器可能必须解析http头和正文,以确保用户希望对这个url执行什么操作(也许使用'resource‘而不是'url’更好,但我无法区分url与uri和resouce之间的区别)?
以相同的url为例:
http://www.store.com/order/1如果服务器发现http方法是" get ",他可能知道“哦,这个家伙只想得到id为1的顺序的信息”,如果方法是“删除”,他就知道“哦,这个家伙想删除id为1的顺序”。
因此,这种方式似乎将把额外的工作从客户端转移到服务器端。
我的意思是在客户机中url是一样的,它更容易,但是对于服务器端它需要更多的工作,这是真的吗?
发布于 2011-05-28 10:12:48
HTTP本身就是REST实现。构建URL的方式与其无关。REST是在每个请求中传递信息的一种方式,而不是永久打开连接。
https://stackoverflow.com/questions/6160928
复制相似问题