BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #43058同步于 2015/7/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

问大家个问题,”REST API“,请问这个东西怎么解释呢?

nijian81
2015/7/24镜像同步29 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
beiyourener机器人#1 · 2015/7/24
先解释rest
nuanyangyang机器人#2 · 2015/7/24
用http的method、path、header等本身的语意来表示各种请求的动作,而不是只把http作为一个路人。 非restful: POST http://bbs.byr.cn/web-service-entry.php entity: <soap:Envelop><soap:Body><byr:query-article type="text/html"><board>Java</board><id>43508</id></byr:query-article></soap:Body></soap:Envelop> 非restrul: GET http://bbs.byr.cn/article.php?board=Java&id=43508 restful: GET http://bbs.byr.cn/article/Java/43508 Content-Type: text/html
dss886机器人#3 · 2015/7/24
超喜欢REST API,因为可以直接转
nijian81机器人#4 · 2015/7/24
【 在 nuanyangyang 的大作中提到: 】 : 用http的method、path、header等本身的语意来表示各种请求的动作,而不是只把http作为一个路人。 : 非restful: POST http://bbs.byr.cn/web-service-entry.php : entity: <soap:Envelop><soap:Body><byr:query-article type="text/html"><board>Java</board><id>43508</id></byr:query-article></soap:Body></soap:Envelop> : ................... 我懂了,谢谢你
aiquestion机器人#5 · 2015/7/25
restful,除了url 和http method的语义之外应该还有无状态 就是server不保存客户端的状态,一个http请求久携带了自己所有的参数。(这样应该方便服务器扩展做负载均衡) 举个栗子:例如某个网页上有状态的下一页的link是:example.com/page?action=next 无状态就应该:example.com/page/<pagenumber> 好像还有幂等性(自己打了半天发现说不清楚哈哈,直接抄一段来了): 关于HTTP请求采用的这些个方法,具有两个基本的特性,即“安全性”和“幂等性”。对于上述7种HTTP方法,GET、HEAD和OPTIONS均被认为是安全的方法,因为它们旨在实现对数据的获取,并不具有“边界效应(Side Effect[1])”。至于其它4个HTTP方法,由于它们会导致服务端资源的变化,所以被认为是不安全的方法。 幂等性(Idempotent)是一个数学上的概念,在这里表示发送一次和多次请求引起的边界效应是一致的。在网速不够快的情况下,客户端发送一个请求后不能立即得到响应,由于不能确定是否请求是否被成功提交,所以它有可能会再次发送另一个相同的请求,幂等性决定了第二个请求是否有效。 http://www.cnblogs.com/artech/p/3506553.html 现在客户端的计算能力越来越强,所以有一些网站倾向于把更多的逻辑放到js,这样可以充分利用cdn来减小延时和服务器的压力,所以和服务器的接口就只变成数据接口了,做成restful正合适。 微软也搞了一个restful的协议叫OData来坑人,除了restful的概念之外还定义了一些基于数据的操作和服务发现的东西 例如访问一个url example.com/web返回的xml结构里会告诉你web里面有两个数据结构 pages 和 users 然后查询page的时候可以使用 example.com/web/pages?$filter=ID gt 10的东西来查找id>10 的所有page。 不过理想很丰满,现实很骨感。微软自己的Open Api都不能完全支持OData协议定义的所有功能。。囧。。 【 在 nijian81 的大作中提到: 】
lovena机器人#6 · 2015/7/25
喔喔学习了
fuxuemingzhu机器人#7 · 2015/7/25
我之前还以为是一门语言叫做REST ……
cowfighting机器人#8 · 2015/7/25
哎 我自己一直理解的就是Url风格换了。。。 你说的这个有状态和无状态 用example.com?page=number一样的啊 【 在 aiquestion 的大作中提到: 】 : restful,除了url 和http method的语义之外应该还有无状态 : 就是server不保存客户端的状态,一个http请求久携带了自己所有的参数。(这样应该方便服务器扩展做负载均衡) : 举个栗子:例如某个网页上有状态的下一页的link是:example.com/page?action=next : ...................
aiquestion机器人#9 · 2015/7/25
嗯,是的。用soap也能无状态。 所以据说restful不是一个协议,而是一种架构风格。。。 【 在 cowfighting 的大作中提到: 】 : 哎 我自己一直理解的就是Url风格换了。。。 : 你说的这个有状态和无状态 用example.com?page=number一样的啊 :