Express 中如何使用 Cookie 和 Session?

· 约 4 分钟读完 · 第 56 / 120 章

推荐答案

在 Express 中使用 Cookie 和 Session 可以通过以下步骤实现:

使用 Cookie

  1. 安装 cookie-parser 中间件:

  2. 在 Express 应用中引入并使用 cookie-parser:

  3. 设置和读取 Cookie:

使用 Session

  1. 安装 express-session 中间件:

  2. 在 Express 应用中引入并使用 express-session:

  3. 设置和读取 Session:

本题详细解读

Cookie 的使用

  • cookie-parser 中间件:用于解析请求中的 Cookie,并将其挂载到 req.cookies 对象上。
  • 设置 Cookie:通过 res.cookie(name, value, [options]) 方法设置 Cookie。options 可以包含 maxAge(有效期)、httpOnly(是否仅通过 HTTP 访问)等。
  • 读取 Cookie:通过 req.cookies 对象访问客户端发送的 Cookie。

Session 的使用

  • express-session 中间件:用于管理用户会话。它会在服务器端存储会话数据,并为每个用户生成一个唯一的会话 ID,存储在客户端的 Cookie 中。
  • 设置 Session:通过 req.session 对象设置会话数据。例如,req.session.username = 'john_doe'。
  • 读取 Session:通过 req.session 对象访问会话数据。例如,req.session.username。

注意事项

  • 安全性:在生产环境中,应使用 HTTPS 并设置 secure: true 来确保 Cookie 和 Session 的安全性。
  • 存储:默认情况下,express-session 将会话数据存储在内存中。对于生产环境,建议使用外部存储(如 Redis)来持久化会话数据。