当前位置:网站首页>32:第三章:开发通行证服务:15:浏览器存储介质,简介;(cookie,Session Storage,Local Storage)
32:第三章:开发通行证服务:15:浏览器存储介质,简介;(cookie,Session Storage,Local Storage)
2022-07-05 10:33:00 【小枯林】
说明:
(1)简单介绍浏览器存储介质:cookie,Session Storage,Local Storage;
(2)目前为止的、可以确定的几点:
● 这些存储介质都是浏览器的,我们要想使用这些存储介质需要浏览器允许;
● 我们可以在后端向前端响应的时候,设置cookie;;前端拿到后,可以把其设置到浏览器中;
● 然后,目前感觉“Session Storage,Local Storage的设置”,更多是前端需要做的工作;(比如,【把数据存到Session Storage,Local Storage中】、【前端二次请求的时候,不再去请求后端接口,而是去“Session Storage,Local Storage”中取】、【某些情况下,需要删除Session Storage,Local Storage中的内容】等等;;;这些工作,感觉更多是需要在前端代码中编写的)
(3)本篇博客,只是对浏览器存储介质作了一个入门级别的介绍,只是一些皮毛;后续可以参考【localStorage、sessionStorage 和 Cookie 区别及用法】、【localStorage和sessionStorage本地存储】等;
目录
零:本篇博客合理性说明;
(1)问题阐述;
● 我们在【31:第三章:开发通行证服务:14:开发【获得用户基本信息,接口】;】,这个接口是用户获取用户基本信息的;
● 而在本项目中,几乎在每个页面在加载的时候,很多都会去获取一下用户信息;
● 这也意味着,如果就这样的话;;;那么,我们几乎在加载每个页面的时候,前端都会默默的去调用【获取用户基本信息,接口】,以便能获取到用户基本信息;
● 那么,如此一来,【获取用户基本信息,接口】的压力就会很大;(因为,我们只要进入了这个网站,刷新页面,点击页面的时候,每个页面都会默默去调用这个接口,,,这个流量是很大的)
● 即使如果【获取用户基本信息,接口】没有操作数据库,请求这个接口的流量也是个很大的负担;
……………………………………………………
【获取用户基本信息,接口】主要有两个特点:一是这个接口提供的信息,一般是不太会经常修改的;二是,很多地方都需要这个接口提供的信息,即这个接口的请求流量很大;
(2)解决策略;
● 【获取用户基本信息,接口】这个接口查询的是“用户的基本信息”;;;而“用户的基本信息”,往往并不是所有的用户都会频繁的去修改的;
● 所以,我们可以把“用户的基本信息”,存储到浏览器上;这样一来,可以减轻接口的压力;
● 在我们项目中,我们前端在获取到用户基本信息后,把这个用户基本信息保存在了浏览器的Session Storage中;
● 比如,我们在访问项目,并更改/完善用户信息后,可以看到Session Storage;
● 这样一来,在第一次需要“用户基本信息”的时候,其会去实际调用后端的【获取用户基本信息,接口】;;;但是,只要用户不关闭浏览器,当前端页面再需要“用户基本信息”的时候,其就不会再去调用后端的【获取用户基本信息,接口】了,而是直接从Session Storage中获取了;;;;;而这,【获取用户基本信息,接口】的压力就会降低,节省了大量的流量;
一:浏览器存储介质,简介;
1.cookie;
(1)cookie可以看做是一种缓存;
(2)在早期的时候,网站中使用的是比较多的;比如本项目的uid和utoken就是保存在cookie中的;通过cookie中保存的数据,前端和后端就可以进行一些数据的交互;
(3)cookie是保存在浏览器中的:
● 如果不设置其过期时间,那么cookie是保存在内容中的;如果我们关闭浏览器,那么和这个cookie也就没了;(这其实有点类似session会话的效果)
● 如果设置了过期时间,那么cookie是保存在硬盘中的;关闭浏览器后,这个还是存在的;一般,很多网站中,cookie的过期时间设为7天;
(4)cookie只能存字符串内容;;;像对象、List这些,我们需要把其转成JSON字符创,然后再保存的;
(5)cookie只能存【大小<4k左右的字符串】;;;如果一个字符串太大的话,就不能存到cookie中了;
(6)用户在使用浏览器的时候访问某个网站的时候,可以禁用浏览器的cookie;;;如此一来,即使这个网站系统在代码中,有“向浏览器存储cookie”的代码,其也存不了;
在HTML5以后,那么浏览器可以使用webStorage(包括sessionStorage、localStorage),其实也是类似一种数据存储的表现形式,是对cookie的一种改良。
2.webStorage;
Session Storage;
可以这样理解:
● 用户打开浏览器,去访问A网站,直到用户彻底关掉浏览器:这个时间内,我们称之为一个会话(session);
● 在这个过程中,浏览器就会针对A网站有一个Session Storage;
● 如果A网站的代码中有向Session Storage中存数据的动作,那么数据就会存到Session Storage中去;
● 只要我们不关闭浏览器,这些存在Session Storage中的数据就会一直在;;;但是,一旦我们关闭了浏览器,这个会话(session)也就结束了,那么那些存在Session Storage中的数据也就没了;
……………………………………………………
Local Storage;
(1)Local Storage的数据是保存在本地(磁盘)的;;我们关闭浏览器、重启电脑后,这些数据都会在;(这其实也是数据持久化的一种表现)
(2)Session Storage和Local Storage能存【大小在5M左右的数据】,这比cookie大很多;
(3)而且,在安全性上,Session Storage和Local Storage要比cookie好一些;;;cookie会被请求携带的,有可能会有一些cookie篡改、cookie挟持等安全问题;
(4)通过webStroage,大多网站数据进行缓存后,可以更快加载,也能为并发减轻一定压力。
边栏推荐
- Go project practice - Gorm format time field
- C#实现获取DevExpress中GridView表格进行过滤或排序后的数据
- How can non-technical departments participate in Devops?
- Workmanager learning 1
- Glide conclusion
- Go project practice - parameter binding, type conversion
- Comparative learning in the period of "arms race"
- Learning II of workmanager
- 非技術部門,如何參與 DevOps?
- SqlServer定时备份数据库和定时杀死数据库死锁解决
猜你喜欢

磨砺·聚变|知道创宇移动端官网焕新上线,开启数字安全之旅!

AtCoder Beginner Contest 258「ABCDEFG」

ModuleNotFoundError: No module named ‘scrapy‘ 终极解决方式

WorkManager学习一

csdn软件测试入门的测试基本流程

2022年流动式起重机司机考试题库及模拟考试

在C# 中实现上升沿,并模仿PLC环境验证 If 语句使用上升沿和不使用上升沿的不同

Who is the "conscience" domestic brand?

Web3基金会「Grant计划」赋能开发者,盘点四大成功项目

The first product of Sepp power battery was officially launched
随机推荐
In the year of "mutual entanglement" of mobile phone manufacturers, the "machine sea tactics" failed, and the "slow pace" playing method rose
Common functions of go-2-vim IDE
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
微信核酸检测预约小程序系统毕业设计毕设(7)中期检查报告
2022年T电梯修理操作证考试题及答案
【观察】跨境电商“独立站”模式崛起,如何抓住下一个红利爆发时代?
埋点111
脚手架开发进阶
LDAP概述
Idea create a new sprintboot project
风控模型启用前的最后一道工序,80%的童鞋在这都踩坑
"Everyday Mathematics" serial 58: February 27
GO项目实战 — Gorm格式化时间字段
【tcp】服务器上tcp连接状态json形式输出
LDAP overview
字符串、、
TSQL–标示列、GUID 、序列
Based on shengteng AI Yisa technology, it launched a full target structured solution for video images, reaching the industry-leading level
What is the most suitable book for programmers to engage in open source?
PHP solves the problems of cache avalanche, cache penetration and cache breakdown of redis



