Page 101 - Node.js开发指南
P. 101

94  第 5 章  使用 Node.js 进行 Web 开发


                 修改以后重启 app.js,访问 http://localhost:3000/user/byvoid,可以看到页面显示了以下
             内容:

                 user: byvoid
                 路径规则 /user/:username 会被自动编译为正则表达式,类似于 \/user\/([^\/]+)\/?
             这样的形式。路径参数可以在响应函数中通过 req.params 的属性访问。
                 路径规则同样支持 JavaScript  正则表达式,例如  app.get(\/user\/([^\/]+)\/?,
             callback)。这样的好处在于可以定义更加复杂的路径规则,而不同之处是匹配的参数是匿
             名的,因此需要通过 req.params[0]、req.params[1] 这样的形式访问。

             5.3.4  REST 风格的路由规则


                 Express 支持 REST 风格的请求方式,在介绍之前我们先说明一下什么是 REST。REST 的
             意思是 表征状态转移(Representational State Transfer),它是一种基于 HTTP 协议的网络应
             用的接口风格,充分利用 HTTP 的方法实现统一风格接口的服务。HTTP 协议定义了以下8
             种标准的方法。
                   GET:请求获取指定资源。
                   HEAD:请求指定资源的响应头。
                   POST:向指定资源提交数据。
                   PUT:请求服务器存储一个资源。
                   DELETE:请求服务器删除指定资源。
                   TRACE:回显服务器收到的请求,主要用于测试或诊断。
                   CONNECT:HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
                   OPTIONS:返回服务器支持的HTTP请求方法。
                 其中我们经常用到的是 GET、POST、PUT 和 DELETE 方法。根据 REST 设计模式,这
             4种方法通常分别用于实现以下功能。
                   GET:获取
                   POST:新增
                   PUT:更新
                   DELETE:删除
                 这是因为这4种方法有不同的特点,按照定义,它们的特点如表 5-2 所示。
                 所谓安全是指没有副作用,即请求不会对资源产生变动,连续访问多次所获得的结果不
             受访问者的影响。而幂等指的是重复请求多次与一次请求的效果是一样的,比如获取和更
             新操作是幂等的,这与新增不同。删除也是幂等的,即重复删除一个资源,和删除一次是
             一样的。
   96   97   98   99   100   101   102   103   104   105   106