1.什么是rest?
首先解释一下什么是rest,rest全称:Representational State Transfer, 中文意思是表述(编者注:通常译为表征)性状态转移。REST指的是一组架构约束条件和原则。" 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。(解释来自百度百科)
REST有主要有两个核心精神:1. 使用Resource来当做识别的资源,也就是使用一个URL网址来代表一个Resource 2. 同一个Resource则可以有不同的Representations格式变化。这一章的路由实现了Resource概念,而Representation则是用respond_to
方法来实现。
2.理解RESTful(参考文章RESTful架构详解)
2.1资源与URI
REST全称是表述性状态转移,那究竟指的是什么的表述? 其实指的就是资源。任何事物,只要有被引用到的必要,它就是一个资源。
要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource Identifier)。URI既可以看成是资源的地址,也可以看成是资源的名称。
URI设计技巧:
- 使用_或-来让URI可读性更好
- 使用/来表示资源的层级关系
- 使用?用来过滤资源
- ,或;可以用来表示同级资源的关系
2.2统一资源接口
2.3资源的表述
2.4资源的链接
2.5状态的转移
RESTful带给Rails最大的好处是:它帮助我们用一种比较标准化的方式来命名跟组织Controllers和Actions。在没有RESTful之前,我们上一章介绍了典型路由设计方式,也就是一个个指定Controller和Action,虽然十分地简便,但是却没有什么准则。同一个Action让不同的开发者设计,就很可能放在不同的Controller之下,更常见的是让一个Controller放太多不相关的Action,造成单一Controller过于庞大。
3.rails的 RESTful 解释
一般网页的运作原理是这样的:
1.使用者在浏览器里输入了某个网址,点击某个链接,都算HTTP请求(Request)
2.而浏览器回应之后,产生页面,或者重新导向,都算HTTP回应(Response)
这是最常用的两种类型/动作(Verb)的请求: GET / POST
GET: 输入网址,点击网址
POST: 送出表单
什么是HTTP method?在HTTP 1.1通讯协议中制定了九种动词(Verbs)来跟服务器沟通ÿ