📜  javascript cookie - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:37.107000             🧑  作者: Mango

JavaScript Cookie

JavaScript Cookie 是利用浏览器的 cookie 实现的一种客户端存储技术。

什么是 Cookie?

Cookie 是一种存储在客户端(浏览器)的小数据片段,网络请求中会在每个请求报文的头部自动添加 Cookie 信息,服务器可以通过该信息获取用户的状态。

Cookie 长什么样子?

一个 Cookie 包含以下信息:

  • 名称:cookie 的名字
  • 值:cookie 存储的值
  • 域名:cookie 的作用域
  • 路径:cookie 作用的路径
  • 过期时间:cookie 的过期时间
  • 安全标志:cookie 是否只能在 HTTPS 协议中使用

Cookie 一般长这样:

document.cookie = "name=value; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/";
如何使用 JavaScript Cookie?

可以使用第三方库 js-cookie 来方便地使用 Cookie。

首先,在 HTML 文件中引入该库:

<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.0/dist/js.cookie.min.js"></script>

然后使用示例:

// 存储一个 cookie
Cookies.set('name', 'value');

// 获取一个 cookie
Cookies.get('name'); // => 'value'

// 设置一个带有过期时间的 cookie
Cookies.set('name', 'value', { expires: 7 }); // 过期时间为 7 天

// 删除一个 cookie
Cookies.remove('name');

更多使用方法请参考 js-cookie 的文档

Cookie 的局限性
  • Cookie 的存储大小有限制,一般为 4KB 左右。
  • Cookie 信息可以被用户禁止或禁用。
  • 同源策略限制了 JavaScript 对其他域名的 Cookie 进行访问和操作。
总结

JavaScript Cookie 是一种基于浏览器 cookie 实现的客户端存储技术,可以方便地存储一些用户状态信息。JavaScript Cookie 虽然有其局限性,但仍然是一个非常常用的技术。在使用 Cookie 时应当注意其安全性问题,避免出现信息泄露等问题。