Express 应用使用路由回调函数的参数 request 和 response 对象来处理请求和响应的数据
Express 不对 Node.js 已有的特性进行二次抽象,只是在它之上扩展了 web 应用所需的基本功能:
- 内部使用的还是 http 模块
- 请求对象继承自 http.IncomingMessage
- 响应对象继承自 http.ServerResponse
请求对象
req 对象代表 HTTP 请求,并具有请求查询字符串、参数、正文、HTTP 标头等的属性;
属性、方法 | 描述 |
---|---|
req.app | 当 callback 为外部文件时,用 req.app 访问 express 的实例 |
req.baseUrl | 获取路由当前安装的 URL 路径 |
req.body | 获得 请求主体 |
req.cookies | 获得 Cookies |
req.fresh req.stale |
判断请求是否还 新鲜 |
req.hostname req.ip |
获取主机名和 IP 地址 |
req.originalUrl | 获取原始请求 URL |
req.params | 获取路由的 parameters |
req.path | 获取请求路径 |
req.protocol | 获取协议类型 |
req.query | 获取 URL 的查询参数串 |
req.route | 获取当前匹配的路由 |
req.subdomains | 获取子域名 |
req.accepts() | 检查可接受的请求的文档类型 |
req.acceptsCharsets req.acceptsEncodings req.acceptsLanguages |
返回指定字符集的第一个可接受字符编码 |
req.get() | 获取指定的 HTTP 请求头 |
req.is() | 判断请求头 Content-Type 的 MIME 类型 |
响应对象
res 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据;
属性、方法 | 描述 |
---|---|
res.app | 访问 express 的实例 |
res.append() | 追加指定 HTTP 头 |
res.set() | 在 res.append() 后将重置之前设置的头 |
res.cookie(name,value [,option]) | 设置 Cookie |
opition | domain / expires / httpOnly / maxAge / path / secure / signed |
res.clearCookie() | 清除 Cookie |
res.download() | 下载指定路径的文件 |
res.get() | 返回指定的 HTTP 头 |
res.end() | 结束响应 |
res.json() | 传送 JSON 响应 |
res.jsonp() | 传送 JSONP 响应 |
res.location() | 只设置响应的 Location HTTP 头,不设置状态码或者 close response |
res.redirect() | 设置响应的 Location HTTP 头,并且设置状态码 302 |
res.render(view,[locals],callback) | 渲染一个 view 同时向 callback 传递渲染后的字符串 如果在渲染过程中有错误发生 next(err) 将会被自动调用 callback 将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了 |
res.send() | 传送 HTTP 响应 |
res.sendFile(path [,options] [,fn]) | 传送指定路径的文件 -会自动根据文件 extension 设定 Content-Type |
res.set() | 设置 HTTP 头,传入 object 可以一次设置多个头 |
res.sendStatus() | 设置 HTTP 状态码 |
res.type() | 设置 Content-Type 的 MIME 类型 |
Express👉 Express 是什么
上一篇