NODE_Cookie的用法

本文详细介绍了Cookie的概念、特点及其在客户端浏览器中的工作原理。包括Cookie如何帮助实现HTTP协议的状态管理,其安全性考虑,以及如何通过Node.js(Express框架)进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Cookie简介

  • cookie是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据。
  • HTTP是无状态协议。
  • 当初次访问一个服务器,不可能携带cookie。必须是服务器得到这次请求,在下行响应报头中,携带cookie信息,伺候每一次浏览器往这个服务器放松的请求,都会携带这个cookie。

2.Cookie特点

  • cookie保存在浏览器本地。
  • 正常设置的cookie是不加密的,用户可以自由看到。
  • 用户可以删除cookie,或者禁用它。
  • cookie可以被篡改。
  • cookie可以用于攻击。
  • 默认情况下,cookie是一个会话级别的,用户推出浏览器后被删除

3.Cookie的属性

  • Web服务器通过传送HTTP 包头中的Set-Cookie 消息把一个cookie 发送到用户的浏览器中,如下示例:
Set-Cookie: name=value; Path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT;
属性含义
name=value键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样
Expires过期时间(秒),在设置的某个时间点后该 Cookie 就会失效,如 expires=Wednesday, 09-Nov-99 23:12:40 GMT
maxAge最大失效时间(毫秒),设置在多少后失效
secure当 secure 值为 true 时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效
Path表示 cookie 影响到的路,如 path=/。如果路径不能匹配时,浏览器则不发送这个Cookie
httpOnly是微软对COOKIE做的扩展。如果在COOKIE中设置了“httpOnly”属性,则通过程序(JS脚本、applet等)将无法读取到COOKIE信息,防止XSS攻击产生

4.Cookie在node(express)中的使用

  • 安装: $ npm install cookie-parser
  • 步骤:

这里写图片描述

  • 示例
var express      = require('express');
var cookieParser = require('cookie-parser');

var app = express();
app.use(cookieParser());

app.get('/', function (req, res) {
    // 检查 session 中的 isVisit 字段是否存在
    // 如果存在则增加一次,否则为 session 设置 isVisit 字段,并初始化为 1。
    if (req.cookie.isVisit) {
        req.cookie.isVisit++;
        res.send('<p>第 ' + req.cookie.isVisit + '次来此页面</p>');
    } else {
        req.cookie.isVisit = 1;
        res.send("欢迎第一次来这里");
        console.log("Cookies: ", req.cookies); //打印cookie
    }
});
app.listen(80);

npm链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值