rest
05 January 2015
缘起
我最早是在学Rails时,接触了REST。后来,买了本《Rest实战》的书,加入了REST讨论组。今天,在群里看到有人提问:”只有一个地址,需要携带json数据,可以使用REST吗?” 然后,我回答说,应该不可以,只能使用post。为此,我仔细思考了一下这个问题,以下,自问自答。
正文
问: REST是什么?
答: 个人认为,rest是针对误解HTTP,滥用post而提出的。本质是,对HTTP的动词和语义的再认识,实践上,可以简单理解为Rails中的资源路由。
问: 如何区分使用GET和POST?
答: GET是幂等的,可缓存的,POST不是。GET携带的数据主要通过URL,URL存在长度的限制,具体因浏览器不同而不同,这里限制最多的,还是要数IE, 以下是搜集过来的数据:
# 浏览器的URL的长度限制(单位:字符个数)
IE : 2803
Firefox:65536
Chrome:8182
Safari:80000
Opera:190000
# 浏览器单个域中最大cookie数
IE :原先为20个,后来升级为50个
Firefox: 50个
Opera:30个
Chrome:180个
Safari:无限制
问: 还有其他的见识吗?
答: 没有了。有空,学习一下RestClient这个gem包。
后记
理解REST,最重要的还是理解HTTP。
傲娇的使用Disqus