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 所示。
所谓安全是指没有副作用,即请求不会对资源产生变动,连续访问多次所获得的结果不
受访问者的影响。而幂等指的是重复请求多次与一次请求的效果是一样的,比如获取和更
新操作是幂等的,这与新增不同。删除也是幂等的,即重复删除一个资源,和删除一次是
一样的。