主页 > 游戏开发  > 

浏览器的Cookie过期时间存储

浏览器的Cookie过期时间存储
Cookie 是服务器发送到浏览器的小型文本数据,用于跟踪用户状态(如登录信息、偏好设置),存储大小通常限制为 4KB,每个域名下最多允许约 20-50 个 Cookie(不同浏览器不同)。 属性 属性说明示例注意事项名称和值Cookie 的键值对,用于存储数据username=John名称和值需进行 URL 编码(如空格转为%20)Domain指定 Cookie 生效的域名,默认仅当前域名(不含子域名).example (允许所有子域名)若显式设置域名,则包含子域名;不设置则仅当前域名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=/`; }

标签:

浏览器的Cookie过期时间存储由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“浏览器的Cookie过期时间存储