PWA 技术的本地存储之 Cookies 和 localStorage 的使用

阅读时长 4 分钟读完

PWA(Progressive Web App)技术是一种新型的 Web 应用开发技术,能够将 Web 应用程序打造成类似于本地应用程序的体验。PWA 技术能够在浏览器中离线访问、支持推送通知、在主屏幕上创建快捷方式等。然而,在离线状态下使用时,怎么才能保证数据的完整性呢?这就需要用到本地存储技术。本文将介绍两种常见的本地存储技术:Cookies 和 localStorage,同时详细指导如何使用。

Cookies 的使用

Cookies 是一种存储于用户计算机上的小文件,用于存储 Web 服务器和浏览器之间的数据。Cookies 可以是临时的也可以是永久的,可存储许多不同类型的数据,在 Web 应用程序中,Cookies 最常用于存储用户偏好、购物车信息等。

写入 Cookies

写入 Cookies 的方式是通过设置 document.cookie 属性。Cookies 是存储在浏览器里的,因此对于允许启用 Cookies 的大多数浏览器,该属性可以为字符串。下面的示例代码演示了如何通过 JavaScript 写入 Cookies。

上述代码中,我们设置了一个名为 username 的 Cookie,它的值为 John Doe,过期时间为 2023 年 12 月 18 日。path=/ 表示该 Cookie 可以在整个网站中使用。

读取 Cookies

读取 Cookies 的方式是通过 document.cookie 属性。当您读取 Cookie 时,该属性将返回所有 Cookie 的名称和值。下面的示例代码演示了如何读取 Cookies。

Cookie 的限制

有一些限制应该注意:

  • Cookies 的大小限制为 4 KB。大多数浏览器会对存储超出该限制的 Cookies 进行截断。
  • Cookies 有数量限制。每个域名下最多可以存储 20 个 Cookies,每个 Cookies 的大小最多为 4 KB。
  • Cookies 不是很安全,在不加密的情况下可以直接被读取。

localStorage 的使用

localStorage 是 HTML5 中的新功能,能够在浏览器中存储键-值对。它类似于 Cookies,但更安全可靠,而且存储容量更大。

写入 localStorage

写入 localStorage 的方式是通过设置 localStorage 对象。下面的示例代码演示了如何通过 JavaScript 写入 localStorage。

上述代码中,我们设置了一个名为 username 的键,它的值为 John Doe。

读取 localStorage

读取 localStorage 的方式是通过 localStorage 对象。当您读取键时,localStorage 将返回该键的值。下面的示例代码演示了如何读取 localStorage。

删除 localStorage

删除 localStorage 的方式是通过 removeItem() 方法。下面的示例代码演示了如何删除 localStorage。

localStorage 的限制

localStorage 适用于浏览器中的本地存储,可以存储大量的数据,但还是存在一些限制:

  • 存储数据的大小限制为一般为 5MB。
  • localStorage 是使用的同源策略。只能在相同的域和端口下进行访问。
  • localStorage 不是很安全,在不加密的情况下可以直接被读取。

结论

本文介绍了 PWA 技术中的本地存储技术:Cookies 和 localStorage,并详细说明了它们的使用方法。 Cookies 和 localStorage 都有各自的优缺点。Cookies 是 Web 应用程序中最广为人知的解决方案之一,但它的大小有限制,而且对于保密信息不是很安全。而 localStorage 具有更大的存储容量,更为安全,但使用同源策略导致了访问范围的限制。因此,在 PWA 开发中选用何种本地存储技术应根据具体的业务需求进行选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67041755d91dce0dc84d7f54

纠错
反馈