session与cookie

本文介绍了HTTP协议的无状态特性以及为解决此问题引入的Cookie和Session技术。Cookie将用户信息存储在客户端,每次请求都会携带;而Session数据存储在服务器,更安全但消耗服务器资源。使用Session需要结合cookie,涉及的步骤包括安装依赖、配置中间件及使用Session对象进行操作。总结了Cookie和Session的主要区别,包括存储位置、安全性及性能影响。

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

一、cookie

        HTTP协议是一种无状态协议,session和cookie都是用于记录会话状态的两种技术。

cookie:

        cookie将用户信息存储在客户端

cookie登录demo流程:

        1、用户发起登录请求

        2、服务器端进行响应

        3、客户端接收到数据,并将相应的数据存储到cookie文件

        4、之后每一次请求都将带上cookie文件

cookie的使用:

        document.cookie返回cookie存储的信息(键值)

二、session

session:

        session也是保存会话状态的一种技术,它的数据是存储在服务器端,但是它需要结合cookie一起使用。

session与cookie的区别:

        1、HTTP协议是一种无状态协议,session和cookie都是用于记录会话状态的两种技术。

        2、session是将数据存储在服务端,相对来说比较安全,且session需要和cookie结合使用,需要消耗服务端的性能。

        3、cookie是将数据存储到客户端,相对来说不安全,但是不消耗服务端的性能。

如何使用session:

1、下载

npm install express-session
npm install cookie-parser

2、引用

const session = require('express-session');
const cookieParse = require('cookie-parser');

3、配置

app.use(cookieParser());
app.use(session({
    name: "test",    //这里的name值是cookie的
    secret: "8888",
    cookie: {
        maxAge: 8000000 //单位:毫秒
    },
    rolling: true, //更新session-cookie失效时间,默认false
    resave: true    //重新保存
    //每次请求,重新配置session与cookie,假设你的cookie是10分钟过期,每次请求都会再设置10 分钟
}));    //session相关的配置

4、使用

req.session.名称;
req.session.名称 = 值;    //原始类型,引用类型

方法:

Session.destroy();    //删除session,当检测到客户端关闭时调用
Session.reload();    //当session有修改时,刷新session
Session.regenerate();    //将已有session初始化
Session.save();    //保存session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值