在 Web 开发中,Cookie 是一种非常重要的机制,可以用来存储用户信息,实现用户登陆,以及进行网站数据的统计分析等任务。在 Express.js 应用程序中,使用 Cookie 也非常简单,只需要安装一个 Cookie 可以直接使用。本文将详细介绍如何在 Express.js 中使用 Cookie。
什么是 Cookie?
所谓 Cookie,即 Web 页面上存储在用户本地计算机上的一小块数据。通常用于记录用户访问 Web 站点时的历史记录以及一些个人信息等,从而使用户可以不必在每一次访问时都提供这些信息。
Cookie 在 Web 应用程序中有多重作用,例如:
- 用于保存已经登录的用户信息,以便以后从 Cookie 中快速找到用户,免去了再次输入用户名和密码的烦恼。
- 用于实现购物车,例如将用户选择的商品存储在 Cookie 中,用户不必在整个购物过程中一直保留浏览器页面。
- 用于实现网站流量统计,使用 JavaScript 客户端程序在 Cookie 中存储用户身份。
使用 Cookie
在 Express.js 中使用 Cookie 也非常容易,只需要安装 cookie-parser 即可。在应用程序中,可以使用以下代码安装:
npm install cookie-parser
然后导入 cookie-parser 并使用它:
const express = require('express'); const cookieParser = require('cookie-parser'); const app = express(); app.use(cookieParser());
在 Express.js 应用程序中发送 Cookie 也是非常简单的,只需要调用 res.cookie()
函数即可。以下是调用 res.cookie()
函数的示例代码:
app.get('/cookie', function(req, res) { res.cookie('name', 'xiaoming', { maxAge: 900000, httpOnly: true }); res.send('cookie set'); });
在上述示例中,我们调用 res.cookie()
函数将一个名为“name”的 Cookie 存储到用户的浏览器中。使用 maxAge
指定此 Cookie 的过期时间,使用 httpOnly
指定此 Cookie 为 HTTP 调用。
在 Express.js 应用程序中读取 Cookie 也非常简单,可以使用 req.cookies
对象来访问所有的 Cookie。以下是调用 req.cookies
对象的示例代码:
app.get('/cookie', function(req, res) { var name = req.cookies['name']; res.send('Hello ' + name); });
在上面的示例中,我们使用 req.cookies
对象从客户端请求中检索名为“ name”的 Cookie,然后将其值发送回浏览器。
总结
这篇文章我们介绍了如何在 Express.js 应用程序中使用 Cookie,以及 Cookie 的基本原理和作用。在实际开发中,Cookie 与 Session 通常是一起使用的,因此,请务必按照最佳实践使用用户认证和会话安全性。
参考文献
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64523ef0675af4061b5dd069