# 请求与响应对象

URL: https://caijiao.org/express/chapter2/3-req-res
Source: docs/express/chapter2/3-req-res.md
Description: 本章节介绍 Express 中的请求对象（req）和响应对象（res），讲解它们的常用属性和方法，帮助理解如何处理客户端请求和构建响应。

在 Express 中，每当客户端发起请求，框架都会创建两个重要对象：请求对象（`req`）和响应对象（`res`），用于处理请求数据和发送响应。

## 请求对象（req）

`req` 表示客户端发送到服务器的请求，包含请求的详细信息和数据。

### 常用属性

- `req.method`：HTTP 请求方法，如 GET、POST。
- `req.url`：请求的完整 URL。
- `req.path`：请求路径，不包含查询字符串。
- `req.query`：包含 URL 查询参数的对象。
- `req.params`：路由参数对象。
- `req.body`：请求体数据，需借助中间件（如 `express.json()`）解析。
- `req.headers`：请求头信息。

### 示例

```js
app.get('/user/:id', (req, res) => {
  console.log(req.method);    // GET
  console.log(req.url);       // /user/123?active=true
  console.log(req.params.id); // 123
  console.log(req.query.active); // true
  res.send('请求信息已接收');
});
```
