乐闻世界logo
搜索文章和话题

How do I create a persistent vs a non-persistent cookie?

3 个月前提问
3 个月前修改
浏览次数9

1个答案

1

在Web开发中,Cookie是服务器发送到用户浏览器并保存在本地的小数据块,它主要用来识别用户、保存用户的登录状态和偏好设置等。根据Cookie的持久性,可以分为持久Cookie和非持久Cookie。

非持久Cookie(会话Cookie)

非持久Cookie或会话Cookie是指那些存储在浏览器内存中,当用户关闭浏览器后会立即被删除的Cookie。会话Cookie通常用于管理用户的会话状态,例如用户是否登录网站。

创建方式:

javascript
document.cookie = "username=JohnDoe";

在这个例子中,我们没有设置Cookie的expiresmax-age属性,这意味着此Cookie是一个非持久Cookie,它会在用户关闭浏览器时自动删除。

持久Cookie

持久Cookie则是指那些存储在用户硬盘上,直到达到设定的过期时间(Expires)或最大生存时间(Max-Age)才会被删除的Cookie。这种类型的Cookie适用于保存用户的偏好设置,如界面语言、主题等,这些信息即使在浏览器关闭后也需要保持。

创建方式:

javascript
// 设置一个Cookie,它将在1小时后过期 document.cookie = "username=JaneDoe; max-age=3600";

在这个例子中,max-age=3600告诉浏览器这个Cookie应该在3600秒后过期。也可以使用expires属性来指定一个具体的过期时间点:

javascript
// 设置一个Cookie,它将在2023年1月1日后过期 document.cookie = "userprefs=darkmode; expires=Fri, 01 Jan 2023 00:00:00 GMT";

总结

总的来说,非持久Cookie通常用于会话管理,因为它们不需要长时间存储在用户的设备上。而持久Cookie则用于存储需要长期保留的用户信息,如用户的个性化设置等。在创建这些Cookie时,关键的区别是是否设置了expiresmax-age属性。

2024年8月12日 11:41 回复

你的答案