20小时学会编程 互动版

Sinatra

既然我的简单应用已经启动并运行,我终于可以开始学习Sinatra是如何工作的了。Sinatra的资料非常全面,而且有很多例子,所以我决定从它开始学习。

Sinatra应用的核心叫作路径(route)。理解它的最好方式是多看例子。

基本的Sinatra应用具有一个单一路径,它包含小型网站的“root(根)”。因特网用户通常将网站的根视为一个网站的主页。

如果你访问google.comyahoo.com,你的网络浏览器会发送一个请求到Google(谷歌)或者Yahoo(雅虎)的服务器。这个请求叫作GET请求,而且它会叫服务器向你展示其根目录下的全部内容。计算机用于发送该请求的协议或格式叫作HTTP,它的意思是“超文本传输协议”,也就是你经常在网址开头看到的http://的意思。

GETHTTP请求的最常见类型,但它不是唯一的类型。这里有三个额外的HTTP“动词”

  • POST-发送资源到服务器
  • PUT-更新服务器资源
  • DELETE-删除服务器资源

如果你曾经在一个网站上推送过一条公开评论,你的俏皮话通过使用一个 PUT① 命令来发送到服务器。如果你出错了并需要编辑评论,你的更新也是通过一个PUT命令来发送的。如果你认为这个评论非常愚蠢并且选择删除它,此时浏览器就会发送一个DELETE命令。

包含GETPOSTPUTDELETEroutesSinatra应用工作的核心。你创建的每个路径都是条件语句:“如果在路径Y上接收到一个GET/POST/PUT/DELETE命令,则执行X。”

①: 作者书中描述此处用PUT,而我理解,如果首次发表此条评论,应该是POST