HTML中Cookie的expires max-age属性控制过期时间的方法

梦枫小哥_8551

梦枫小哥_8551

2026-06-23

626人浏览

原创

max-age优先于expires且更可靠;expires必须为rfc 7231规定的gmt格式(如wed, 21 oct 2025 07:28:00 gmt),否则被静默忽略退化为会话cookie;document.cookie仅支持expires,需用toutcstring()生成;服务端set-cookie推荐用max-age。

html中cookie的expires max-age属性控制过期时间的方法

max-age 优先于 expires,且更可靠;前端用 document.cookie 只能设 expires,必须转成 GMT 字符串;服务端设 Set-Cookie 时两者都支持,但应优先用 Max-Age。

为什么 expires 总是不生效?

浏览器只认 RFC 7231 规定的 GMT 格式,比如 Wed, 21 Oct 2025 07:28:00 GMT。写成本地时间、ISO 格式(如 "2025-12-31T23:59:59")、或拼错月份缩写(Jun 写成 June),都会被静默忽略,退化为会话 Cookie。

  • 别手写字符串——容易漏空格、大小写错、时区错
  • 用 new Date().toUTCString() 生成,例如:document.cookie = "theme=dark; expires=" + new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toUTCString();
  • toGMTString() 已废弃,不要用

max-age 和 expires 同时出现时谁起作用?

只要 Max-Age 存在(注意大小写),Expires 就被完全忽略,哪怕 Expires 写的是 2030 年,Max-Age=60 也只活 60 秒。

Html2md
Html2md

使用 Readability + Turndown 将 HTML 页面转换为干净的、Agent 友好的 Markdown。去除导航栏、广告、页脚、Cookie 横幅、社交按钮等干扰元素。支持 URL...

下载
  • HTTP 响应头中必须写成 Max-Age=3600(首字母大写、中间横线、单位秒)
  • 写成 max-age、Maxage 或 max_age 都无效
  • 前端 JS 无法通过 document.cookie 设置 max-age,只能靠服务端或换算成 expires

设置后 Cookie 还是“秒没”,可能卡在哪?

过期时间本身没错,但 Cookie 消失得早,大概率不是时间问题,而是路径、域名或安全策略导致读不到或写不进。

  • path 不匹配:比如设了 path=/admin,但在 / 下执行 document.cookie 查不到——这不是过期,是隔离
  • domain 设错:从 app.example.com 写 domain=example.org 会失败,且无任何提示
  • 缺 Secure 或 SameSite:Chrome 等现代浏览器可能直接拒收,尤其在 HTTPS 页面下
  • HttpOnly Cookie:JS 根本读不到,document.cookie 查不到不等于它不存在或已过期

调试时别只信 DevTools 的 “Expires” 列

Application > Cookies 面板里显示的 “Expires” 是浏览器根据 Max-Age 或 Expires 推算出的本地时间,但它可能不准——系统时间被调过、Cookie 被脚本覆盖、或被浏览器策略拦截后,面板显示和实际行为就对不上。

  • 真正判断是否还存在,应该用 document.cookie 实际读取(非 HttpOnly 场景)
  • 服务端可通过日志或抓包确认响应头中 Set-Cookie 字段是否正确输出了 Max-Age 或 Expires
  • IE 6–8 不支持 Max-Age,若真要兼容,才需 fallback 到 expires,否则没必要

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

6555

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

3652

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3330

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

3339

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

4999

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

3281

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

3089

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2708

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2808

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 226人学习