带你读《现代Javascript高级教程》十九、详解Cookie, Session, SessionStorage, LocalStorage(2)

简介: 带你读《现代Javascript高级教程》十九、详解Cookie, Session, SessionStorage, LocalStorage(2)

带你读《现代Javascript高级教程》十九、详解Cookie, Session, SessionStorage, LocalStorage(1)https://developer.aliyun.com/article/1349544?groupCode=tech_library


应用场景

Session在Web开发中有多种应用场景,包括:

 

  • 用户身份验证:Session用于存储用户的身份验证状态,以便在用户访问需要验证的资源时进行验证。
  • 购物车:Session用于存储用户的购物车内容,以便在用户进行结账或继续购物时保持购物车状态。
  • 个性化设置:Session可以用于存储用户的个性化首选项,例如语言偏好、主题设置等。

以下是一个使用Express.js处理Session的示例:

 

const express = require("express");const session = require("express-session");
const app = express();
app.use(session({
  secret: "mysecret",
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true, sameSite: "strict", httpOnly: true }}));
app.get("/", (req, res) => {
  req.session.username = "John Doe";
  res.send("Session is set.");});
app.get("/profile", (req, res) => {
  const username = req.session.username;
  res.send("Welcome, " + username);});
app.listen(3000, () => {
  console.log("Server is running on port 3000");});

3. 什么是SessionStorage?

属性

SessionStorage是一种在客户端存储临时数据的机制。SessionStorage具有以下属性:

 

  • 存储位置:SessionStorage数据存储在客户端的内存中,与当前会话关联。
  • 会话范围:SessionStorage数据仅在浏览器会话期间保留,当用户关闭标签页或浏览器时数据将被清除。
  • 域和协议限制:SessionStorage数据只能在同一域和协议下访问。

应用场景

SessionStorage在Web开发中有多种应用场景,包括:

 

  • 临时数据存储:SessionStorage可用于在页面之间传递临时数据,例如表单数据、临时状态等。
  • 表单数据保存:SessionStorage可用于保存用户填写的表单数据,以便在刷新页面或返回页面时恢复数据,防止数据丢失。
  • 单页应用状态管理:在单页应用中,可以使用SessionStorage来存储和管理应用的状态,例如当前选中的标签、展开/收起的面板等。

以下是一个使用JavaScript操作SessionStorage的示例:

 

// 设置SessionStorage
sessionStorage.setItem("username", "John Doe");
// 读取SessionStorageconst username = sessionStorage.getItem("username");
console.log(username);


带你读《现代Javascript高级教程》十九、详解Cookie, Session, SessionStorage, LocalStorage(3)https://developer.aliyun.com/article/1349541?groupCode=tech_library

相关文章
|
2天前
|
JavaScript 前端开发 网络安全
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
16 4
|
2天前
|
Web App开发 JavaScript 前端开发
《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)
【5月更文挑战第3天】本文介绍了如何在Web自动化测试中使用JavaScript执行器(JavascriptExecutor)来完成Selenium API无法处理的任务。首先,需要将WebDriver转换为JavascriptExecutor对象,然后通过executeScript方法执行JavaScript代码。示例用法包括设置JS代码字符串并调用executeScript。文章提供了两个实战场景:一是当时间插件限制输入时,用JS去除元素的readonly属性;二是处理需滚动才能显示的元素,利用JS滚动页面。还给出了一个滚动到底部的代码示例,并提供了详细步骤和解释。
31 10
|
2天前
|
存储 JavaScript 前端开发
Javascript教程
Javascript教程
9 0
|
2天前
|
JavaScript 前端开发 Java
《手把手教你》系列技巧篇(四十)-java+ selenium自动化测试-JavaScript的调用执行-下篇(详解教程)
【5月更文挑战第4天】本文介绍了如何使用JavaScriptExecutor在自动化测试中实现元素高亮显示。通过创建并执行JS代码,可以改变元素的样式,例如设置背景色和边框,以突出显示被操作的元素。文中提供了一个Java示例,展示了如何在Selenium中使用此方法,并附有代码截图和运行效果展示。该技术有助于跟踪和理解测试过程中的元素交互。
10 0
|
2天前
|
存储 JavaScript 前端开发
JavaScript中的cookie、localStorage的区别和特点
JavaScript中的cookie、localStorage的区别和特点
20 6
|
2天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
17 0
|
2天前
|
JavaScript 前端开发
JavaScript高级主题:什么是 ES6 的解构赋值?
【4月更文挑战第13天】ES6的解构赋值语法简化了从数组和对象中提取值的过程,提高代码可读性。例如,可以从数组`[1, 2, 3]`中分别赋值给`a`, `b`, `c`,或者从对象`{x: 1, y: 2, z: 3}`中提取属性值给同名变量。
18 6
|
2天前
|
存储 JavaScript 前端开发
JavaScript高级主题:JavaScript 中的 Map 和 Set 是什么?它们有什么区别?
JavaScript的ES6引入了Map和Set数据结构。Map用于存储键值对,适合通过键进行查找,而Set则存储唯一值,无键且不支持键查找。两者在性能上表现出色,尤其在频繁的写入删除操作中。选择使用哪个取决于具体应用场景:键值对需求选Map,独特值集合则选Set。
20 2
|
2天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
75 0
|
存储 安全 JavaScript
JavaScript操作Cookie——高级篇
JavaScript操作Cookie——高级篇
98 0