1.nodejs中如何操作cookie
1.1 cookie的特点
# 服务器向客户端发送
# 浏览器将 cookie 保存
# 每次请求浏览器都会将 cookie 发向服务器
1.2 cookie的设置值
1.2.1 path:表示 cookie 影响到的路径,匹配该路径才发送这个 cookie。
1.2.2 expires 和 maxAge:告诉浏览器这个 cookie 什么时候过期,expires 是 UTC 格式时间,maxAge 是 cookie 多久后过期的相对时间。当不设置这两个选项时,过期时间为浏览器窗口的声明周期。
1.2.3 secure:当 secure 值为 true 时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效。
1.2.4 httpOnly:是否允许浏览器js脚本操作cookie,true为不允许。
1.3 cookie的操作
使用express操作cookie需要用到第三方模块 cookie-parser
设置cookie形如以下
res.cookie('isVisit', 1, {maxAge: 60 * 1000});
1.4 浏览器操作cookie使用document.cookie
-------------------------
2.nodejs中的session操作
2.1 session的特点
# session是基于cookie的
# session数据一般存储在服务器的内存中
# 浏览器在第一次访问的时候,服务器会响应一个seesion_id在cookie中,
同时这个session_id对应相应的数据存储在服务器中,当你下次访问时,cookie 会带有session_id,然后服务器就知道你是上次访问过的某某某,然后从服务器的存储中取出上次记录在你身上的数据。
2.2 session 设置的参数
2.2.1 name: 设置 cookie 中,保存 session 的字段名称,默认为 connect.sid 。
2.2.2 store: session 的存储方式,默认存放在内存中,也可以使用 redis,mongodb 等。
2.2.3 secret: 通过设置的 secret 字符串,来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改。
2.2.4 cookie: 设置存放 session id 的 cookie 的相关选项,默认为
(default: { path: '/', httpOnly: true, secure: false, maxAge: null })
2.2.5 rolling: 每个请求都重新设置一个 cookie,默认为 false。
2.2.6 resave: 即使 session 没有被修改,也保存 session 值,默认为 true。
session的使用需要借助express-session中间件
浙公网安备 33010602011771号