Sinatra
既然我的简单应用已经启动并运行,我终于可以开始学习Sinatra是如何工作的了。Sinatra的资料非常全面,而且有很多例子,所以我决定从它开始学习。
Sinatra应用的核心叫作路径(route)。理解它的最好方式是多看例子。
基本的Sinatra应用具有一个单一路径,它包含小型网站的“root(根)”。因特网用户通常将网站的根视为一个网站的主页。
如果你访问google.com或yahoo.com,你的网络浏览器会发送一个请求到Google(谷歌)或者Yahoo(雅虎)的服务器。这个请求叫作GET请求,而且它会叫服务器向你展示其根目录下的全部内容。计算机用于发送该请求的协议或格式叫作HTTP,它的意思是“超文本传输协议”,也就是你经常在网址开头看到的http://的意思。
GET是HTTP请求的最常见类型,但它不是唯一的类型。这里有三个额外的HTTP“动词”:
- POST-发送资源到服务器
- PUT-更新服务器资源
- DELETE-删除服务器资源
如果你曾经在一个网站上推送过一条公开评论,你的俏皮话通过使用一个 PUT① 命令来发送到服务器。如果你出错了并需要编辑评论,你的更新也是通过一个PUT命令来发送的。如果你认为这个评论非常愚蠢并且选择删除它,此时浏览器就会发送一个DELETE命令。
包含GET、POST、PUT和DELETE的routes是Sinatra应用工作的核心。你创建的每个路径都是条件语句:“如果在路径Y上接收到一个GET/POST/PUT/DELETE命令,则执行X。”
①: 作者书中描述此处用PUT,而我理解,如果首次发表此条评论,应该是POST。