- 【融职培训】Web前端学习 第8章 egg基础教程6 cooki
- 【融职培训】Web前端学习 第8章 egg基础教程1 Egg概述
- 【融职培训】Web前端学习 第8章 egg基础教程5 restf
- 【融职培训】Web前端学习 第8章 egg基础教程7 Nunju
- 【融职培训】Web前端学习 第8章 egg基础教程2 路由
- 【融职培训】Web前端学习 第8章 egg基础教程4 seque
- 【融职培训】Web前端学习 第8章 egg基础教程3 控制器
- 【融职培训】Web前端学习 第8章 egg基础教程8 学生列表管
- 【融职培训】Web前端学习 第3章 JavaScript基础教程
- 【融职培训】Web前端学习 第3章 JavaScript基础教程
一、cookie的基本概念
cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据,实现数据的持久化。
HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。
cookie可以设置多个。
二、cookie在项目中的应用
通过cookie记录访问次数
let count = ctx.cookies.get('count');
设置 Cookie 其实是通过在 HTTP 响应中设置 set-cookie 头完成的,每一个 set-cookie 都会让浏览器在 Cookie 中存一个键值对。在设置 Cookie 值的同时,协议还支持许多参数来配置这个 Cookie 的传输、存储和权限。
案例解析
可以看到home与router都是最初始的源代码
然后启动服务器,打开浏览器,按F12找到Network,然后找到Cookie,可以发现Name中只有Request与Response。
开始使用Cookie
实现功能,每次访问一次他就会记录一次
三、session的基本概念
session 是另一种记录客户状态的机制,session基于cookie,
不同的是 Cookie 保存在客户端浏览器中,而session 保存在服
务器上,相对于cookie,session更安全。
Session 的工作流程
当浏览器访问服务器并发送第一次请求时,服务器端会创建一个 session 对象,生成一个类似于 key,value 的键值对, 然后将 key(cookie)返回到浏览器(客户)端,浏览器下次再访问时,携带 key(cookie),找到对应的 session(value)。
1//设置 2this.ctx.session.userinfo={ 3name:'张三', 4age:'20' 5 }; 6 7//获取 8varuserinfo=this.ctx.session; 910//Session 的默认设置11exports.session = {12key: 'EGG_SESS',13maxAge: 24 * 3600 * 1000,// 1 day httpOnly: true,14encrypt:true15 };1617//Session 在 config.default.js 中的配置18config.session={19key:'SESSION_ID',20maxAge:864000,21renew:true//延长会话有效期22};
cookie 和session 区别
cookie 数据存放在客户的浏览器上,session 数据放在服务器上。
cookie 相比 session 没有 session 安全,别人可以分析存放在本地的 * Cookie 并进行 COOKIE欺骗。
session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用 COOKIE。
单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 * 20 个 cookie。





网友评论