📜  会话 cookie 与持久性 cookie - Javascript (1)

📅  最后修改于: 2023-12-03 14:49:33.001000             🧑  作者: Mango

会话 cookie 与持久性 cookie - Javascript

在前端开发中,cookie 是一个常用的技术,它可以存储一些状态信息。根据存储时间的不同,cookie 又可以分为会话 cookie 和持久性 cookie。

会话 cookie

会话 cookie 是存储在客户端浏览器内存中的 cookie,它的生命周期随着浏览器会话结束而结束,在浏览器关闭后会自动被删除。

设置会话 cookie

要设置会话 cookie,可以使用以下代码:

// 设置会话 cookie
document.cookie = "name=value; path=/;"
获取会话 cookie

要获取会话 cookie 的值,可以使用以下代码:

// 获取会话 cookie
const cookieValue = document.cookie
  .split('; ')
  .find(row => row.startsWith('name='))
  .split('=')[1];
持久性 cookie

持久性 cookie 是存储在客户端浏览器本地磁盘中的 cookie,它的生命周期可以是一个固定的时间段,也可以是一个固定的日期。

设置持久性 cookie

要设置持久性 cookie,需要设置一个过期时间,可以使用以下代码:

// 设置过期时间为7天的持久性 cookie
let currentDate = new Date();
let expirationDate = new Date(currentDate.getTime() + 7 * 24 * 60 * 60 * 1000);
document.cookie = `name=value; expires=${expirationDate.toUTCString()}; path=/`;
获取持久性 cookie

要获取持久性 cookie 的值,可以使用以下代码:

// 获取持久性 cookie
const cookieValue = document.cookie
  .split('; ')
  .find(row => row.startsWith('name='))
  .split('=')[1];
注意事项
  • cookie 存储的数据大小有限制,通常最多只能存储 4KB 的数据。
  • 不要在 cookie 中存储敏感信息,如密码等。
  • 需要对 cookie 进行安全加密处理,防止恶意攻击。
  • 当 cookie 存储时间到期后,浏览器会自动删除它。

以上就是关于会话 cookie 和持久性 cookie 在 Javascript 中的介绍和使用方法。