javascript - Express Js:req.session vs cookie vs local storage vs session storage
问题描述
我是 Express JS 和前端的新手。我正在开发一个应用程序,它使用 req.session 来维护用户会话和本地存储来存储一些其他临时信息。
我已经看过各种文章来了解上述内容之间的差异,但我仍然不清楚在什么时候使用哪个以及每个持续多长时间。
据我说:
1.req.session:服务器维护这个会话。当用户清除 cookie 时,这将被清除。
2.cookies:cookies被发送到服务器以维护身份验证
3.本地存储:这会一直持续到用户删除cookies?
- 会话存储:这由浏览器维护并持续一个选项卡。
解决方案
都是中storage mechanisms
常用的不同类型web application development
。
但问题是选择正确的。
简而言之
Cookie Storage
Cookie 是浏览器的一种存储机制,但可以通过请求从服务器端访问。开发人员使用 cookie 来存储应该可以从服务器和客户端访问的数据。
示例:身份验证令牌、分析数据
Session
会话存储是一种服务器端存储机制,只能由服务器访问。所以我们不能直接从浏览器访问。使用会话存储机密信息。
会话关闭时,会话中的数据将被销毁。
Local Storage
本地存储就像 Cookie但我们无法从服务器访问,我们可以存储比 cookie 更多的数据并且除非我们清除它不会过期。
Cookie - 4 KB 和本地存储 - 5 MB
Session Storage
会话存储类似于本地存储。但唯一的区别是,Local Storage 不会过期,但是Session 存储会在页面会话结束时被销毁。会话存储在每页(选项卡)中保持不同的会话
推荐阅读
- neural-network - 当我将工作人员添加到中性网络时出现错误,pytorch
- excel - 使用 Excel VBA 将数字按块添加到行中
- entity-framework-core - CI EntityFramework Core 缺少迁移检查
- c++ - 如何从基类转换为“this”类型到派生类
- c++11 - 将 wav 文件中的数据存储到数组中
- google-apps-script - 如何在 Google 表格中添加新标签、隐藏标签、更改公式并自动重命名?
- swift - 如何在 ARKit 中将 3d 对象放在另一个之上?(场景套件)
- android - Android Studio 的菜单栏不可读
- sql - 我在运行查询时遇到以下错误
- regex - 使用扫描方法 + 正则表达式将字符串分解为单词,如果单词有 `'` 字符,则删除该字符及其后面的所有内容