浏览器的Cookie 过期时间存储

Cookie 是服务器发送到浏览器的小型文本数据,用于跟踪用户状态(如登录信息、偏好设置),存储大小通常限制为 4KB,每个域名下最多允许约 20-50 个 Cookie(不同浏览器不同)。

属性

属性说明示例注意事项
名称和值Cookie 的键值对,用于存储数据username=John名称和值需进行 URL 编码(如空格转为%20
Domain指定 Cookie 生效的域名,默认仅当前域名(不含子域名).example.com(允许所有子域名)若显式设置域名,则包含子域名;不设置则仅当前域名
Path指定 Cookie 生效的路径,默认当前路径/admin(仅/admin路径下可访问)设为/表示全站生效
Expires绝对过期时间(GMT 日期)expires=Mon, 01 Jan 2024 00:00:00 GMT优先级低于Max-Age;未设置则为会话 Cookie(关闭浏览器失效)
Max-Age相对过期时间(秒数)max-age=3600(1 小时后过期)优先级高于Expires;设为0表示立即删除
Secure仅通过 HTTPS 传输 CookieSecure本地开发(HTTP)需关闭此属性,否则 Cookie 不生效
HttpOnly禁止 JavaScript 访问 Cookie,防止 XSS 攻击HttpOnly无法通过document.cookie读取,但浏览器仍会自动发送到服务器
SameSite控制跨站请求时是否发送 Cookie:
Strict:禁止跨站
Lax:允许安全跨站导航(如链接跳转)
None:允许所有跨站
SameSite=Lax

设置 Cookie

// 设置一个名为"user"的Cookie,有效期7天
document.cookie = "user=Alice; expires=" + new Date(Date.now() + 7*24*60*60*1000).toUTCString() + "; path=/";

读取 Cookie

// 获取所有Cookie并解析为对象
const cookies = document.cookie.split(';').reduce((res, c) => {const [key, val] = c.trim().split('=');res[key] = val;return res;
}, {});
console.log(cookies.user); // 输出: Alice

删除 Cookie

// 设置过期时间为过去的时间
document.cookie = "user=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

Cookie 过期时间

固定天数过期

// 默认 7 天后过期(浏览器关闭不影响计时)
const saveToCookie = (key, value, daysToExpire = 7) => {const date = new Date();date.setTime(date.getTime() + daysToExpire * 24 * 60 * 60 * 1000);document.cookie = `${key}=${value}; expires=${date.toUTCString()}; path=/`;
}

会话期 Cookie(关闭浏览器即失效)

// 删除 expires 属性即可
const saveSessionCookie = (key, value) => {document.cookie = `${key}=${value}; path=/`; // 不设置 expires
}

 立即过期(用于删除)

// 设置过期时间为过去时间
const deleteCookie = (key) => {document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`;
}

总结

类型expires 属性浏览器行为
固定时间 Cookie设置具体过期时间(如 7 天后)即使关闭浏览器,Cookie 仍会保留至过期时间
会话期 Cookie不设置 expires 属性浏览器关闭后自动删除
立即过期设置为过去时间立即删除 Cookie

推荐改用 max-age(更直观的秒数控制)

// 使用 max-age 替代 expires(单位:秒)
const saveToCookie = (key, value, maxAge = 604800) => { // 默认 7 天document.cookie = `${key}=${value}; max-age=${maxAge}; path=/`;
}// 会话期 Cookie(浏览器关闭失效)
const saveSessionCookie = (key, value) => {document.cookie = `${key}=${value}; path=/`;
}// 立即失效
const deleteCookie = (key) => {document.cookie = `${key}=; max-age=0; path=/`;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

告别第三方云存储!用File Browser在Windows上自建云盘随时随地访问

文章目录 前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 无论是个人用户还是企业团队,都希望能够有一个高效、安全的解决方案来…

[250217] x-cmd 发布 v0.5.3:新增 DeepSeek AI 模型支持及飞书/钉钉群机器人 Webhook 管理

目录 X-CMD 发布 v0.5.3📃Changelog🧩 deepseek🧩 feishu|dingtalk📦 x-cmd✅ 升级指南 X-CMD 发布 v0.5.3 📃Changelog 🧩 deepseek 新增 deepseek 模块,用户可通过 deepseek 直接请求使用 …

Kubernetes控制平面组件:etcd常用配置参数

云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…

Docker 入门与实战:从安装到容器管理的完整指南

🚀 Docker 入门与实战:从安装到容器管理的完整指南 🌟 📖 简介 在现代软件开发中,容器化技术已经成为不可或缺的一部分。而 Docker 作为容器化领域的领头羊,以其轻量级、高效和跨平台的特性,深…

Android 14输入系统架构分析:图解源码从驱动层到应用层的完整传递链路

一、资料快车 1、深入了解Android输入系统:https://blog.csdn.net/innost/article/details/47660387 2、书籍 - Android系统源代码情景分析 二、Perface 1、参考: 2、系统程序分析方法 1)加入log,并跟着log一步步分析 -logc…

HarmonyOS-ArkTS基础快速入门

目录 ArkTS 快速入门 ArkTS 快速入门 如图,index.etc里面的内容(图中框住的大长方形区域)会渲染到预览区中,而console.log(xx,xxx)用于内容的打印,需要在日志中查看打印的内容

FRRouting配置与OSPF介绍,配置,命令,bfd算法:

文章目录 1、frrouting的配置:2、ospf2.1、检测和维护邻居关系2.2、ospfDR和BDR2.3、odpf邻居表2.4、ospf常用命令2.5、bfd配置 1、frrouting的配置: sudo service zebra start sudo service ospfd start telnet localhost 2604 en configure termina…

2-安装YIUI

YIUI框架:GitHub - LiShengYang-yiyi/YIUI: Unity3D UGUI Framework, 基于UI数据事件绑定为核心 数据驱动的UGUI框架, ETUI框架, ET框架官方推荐UI框架 ET框架:egametang/ET: Unity3D Client And C# Server Framework (github.com) 1 - 安装YIUI框架&a…

001-监控你的文件-FSWatch-C++开源库108杰

fswatch 原理与应用简介fswatch 安装fswatch 实践应用具体应用场景与细节补充 1. 简介 有些知识,你知道了不算厉害,但你要是不知道,就容易出乱。 很多时候,程序需要及时获取磁盘上某个文件对象(文件夹、文件&#xff0…

机器学习--逻辑回归

机器学习–逻辑回归 一、认知革命:从线性回归到逻辑回归 1.1 本质差异对比 维度线性回归逻辑回归输出类型连续值概率值 (0-1)目标函数最小二乘法极大似然估计数学表达式 y w T x b yw^Txb ywTxb p 1 1 e − ( w T x b ) p\frac{1}{1e^{-(w^Txb)}} p1e−(wTxb…

s1K 数据集:是一个用于提升语言模型推理能力的高质量数据集。包含 1,000 个问题,每个问题都配有详细的 推理路径 和 答案。

2025-02-07, 由斯坦福大学、华盛顿大学等研究机构创建了 s1K 数据集,该数据集包含 1,000 个精心挑选的问题,并配以推理轨迹和答案,为语言模型推理能力的提升提供了重要的数据基础。 一、研究背景 1. 研究背景 近年来,…

DockerDesktop更改默认的磁盘镜像地存储位置

DockerDesktop更改默认的磁盘镜像地存储位置 文章目录 DockerDesktop更改默认的磁盘镜像地存储位置1. 默认存储位置2. 新建一个目录3. 将磁盘镜像存储位置改为新建的目录下 1. 默认存储位置 2. 新建一个目录 如:D:\DiskImagelocationData 3. 将磁盘镜像存储位置改为…

ASP.NET Core SixLabors.ImageSharp 位图图像创建和下载

从 MVC 控制器内部创建位图图像并将其发送到浏览器;用 C# 编写并与 Linux 和 Windows 服务器兼容。 使用从 ASP.NET MVC 中的控制器下载任何文件类型File。 此示例创建一个位图 (jpeg) 并将其发送到浏览器。它需要 NuGet 包SixLabors.ImageSharp v1.0.4。 另请参…

容联云联络中心AICC:深度整合DeepSeek,业务验证结果公开

容联云重磅推出AICC3.2版本,实现了智能化的升级与外呼效率的突破——深度整合DeepSeek-R1大模型、预测式外呼在数据分析侧的增强、全渠道路由能力、一键多呼效率的强化。 同时,全面接入DeepSeek-R1的容联云 AICC3.2 ,目前已与某知名汽车金融企…

链表和list

链表和list ‍ ​ ​ ​ ​ ​ ​ ​ ​ ​ 算法题中的经典操作:用空间代替时间​ ​ ​ ​ 双链表头插顺序: 1.先修改新结点的左右指针 2.然后修改结点y的左指针 3.最后修改哨兵位的右指针 双链表在任意位置(p)之后插入…

Junit——白盒测试

Java单元测试框架,主要用于测试Java程序中的各个单元。 1.验证代码功能是否符合预期 2.及时 发现修复 代码中的缺陷,提高代码质量 入门 最早学习java,代码对不对,通过main 方法运行,观看结果是否符合预期。 packa…

1.MySQL概述

1.1 数据模型 介绍完了Mysql数据库的安装配置之后,接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后,我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前,需要先了解一个概念&#x…

Deep seek学习日记1

Deepseek最强大的就是它的深度思考,并且展现了它的思考过程。 五种可使用Deep seek的方式(应该不限于这五种,后续嵌入deepseek的应该更多,多了解一点因为官网容易崩~~): 1.deep seek官网 2.硅基流动silicon…

JAVA中的异常

一、简介 1.1 什么是异常 异常,是对程序在运行过程中遇到的种种不正常的情况的描述。异常在java中用Exception类来描述。如果程序遇到了未经处理的异常,将会导致程序无法编译或者无法继续运行。 1.2 异常的继承体系 在java中使用类Throwable来描述所有…

数字水印嵌入及提取系统——基于小波变换GUI

数字水印嵌入及提取系统——基于小波变换GUI 基于小波变换的数字水印系统(Matlab代码GUI操作) 【有简洁程序报告】【可作開题完整文档达辩PPT】 本系统主要的内容包括: (1)使用小波变换技术实现二值水印图像的加密、…