网络数据持久性(Cookie、会话、令牌、LocalStorage和SessionStorage)

💡 原文英文,约1700词,阅读约需6分钟。
📝

内容提要

本文探讨了网络数据持久性的两个方面。首先,我们将介绍如何使用会话或令牌在cookie中存储身份验证信息。接下来,我们将看看如何处理浏览器端的持久性,使用cookie进行标识和localStorage或sessionStorage存储用户偏好。cookie是将信息存储在用户浏览器中的小片段,用于个性化用户体验、记住语言偏好、保持用户会话登录和跟踪广告。cookie可以是会话cookie(关闭浏览器时删除)或持久cookie(保留一段时间)。另外,本文还介绍了localStorage和sessionStorage的用法和区别。

🎯

关键要点

  • 本文探讨了网络数据持久性的两个方面:使用cookie存储身份验证信息和浏览器端的持久性处理。

  • HTTP协议是无状态的,无法保留用户的交互信息,因此需要使用cookie来记住用户和他们的偏好。

  • cookie是存储在用户浏览器中的小片段,主要用于个性化用户体验、记住语言偏好和保持用户会话登录。

  • cookie可以分为会话cookie(关闭浏览器时删除)和持久cookie(保留一段时间)。

  • cookie的基本操作是自动随每个HTTP请求发送到服务器,分为自有cookie和第三方cookie。

  • cookie的限制包括大小限制(4KB)、安全性问题和存储持续时间。

  • cookie在状态持久性中的工作原理包括登录、服务器响应、cookie建立和后续请求处理。

  • 除了cookie,令牌(如JWT、OAuth)也可以用于安全的身份验证,适用于多个不信任方的场景。

  • cookie和令牌认证方法常常互补使用,移动应用可能使用令牌,而网站则使用cookie认证。

  • localStorage和sessionStorage是浏览器端的存储机制,只有cookie会随每个请求自动发送到服务器。

  • localStorage和sessionStorage的主要区别在于持久性和存储容量,localStorage数据在浏览器关闭后仍然存在,而sessionStorage数据在关闭标签页后删除。

  • localStorage和sessionStorage的存储容量通常在5MB到10MB之间,适合存储用户设置和应用状态。

  • 存储在localStorage、sessionStorage和cookie中的数据可以通过浏览器控制台查看和操作,不建议存储敏感信息。

  • 使用localStorage和sessionStorage的基本方法包括保存、获取和删除数据。

➡️

继续阅读