localStorage、SessionStorage、cookie、session 的区别

一、localStorage、SessionStorage区别:

    localStorage、SessionStorage是现代Web浏览器提供的两个Web存储API,用于在客户端存储数据。它们根据应用程序的需求,用于临时存储或持久存储数据。

1、localStorage:

(1)localStorage是一个具有永久性存储机制的存储方式,允许Web应用程序在自己的客户端上存储数据。在关闭浏览器后,localStorage中存储的数据仍然存在。

(2)localStorage中存储的数据可以在同一域内的不同浏览器窗口或标签页之间访问。

(3)localStorage提供了一个简单的键值存储系统,其中的数据是以字符串的形式存储的。但是,我们可以通过JSON.stringify()和JSON.parse()方法来存储复杂的数据类型。

(4)localStorage中存储的数据没有过期日期,只有Web应用程序我们自己手动删除或清除时才会被移除。

2、sessionStorage:

(1)SessionStorage是一种临时存储机制,允许Web应用程序在自己的客户端上存储数据,但是该数据会在会话结束时被清除,无论是关闭浏览器还是离开网站都会被自动清除。

(2)SessionStorage存储与localStorage相同都提供了一个简单的键值存储系统,其中的数据是以字符串的形式存储的。可以使用JSON序列化存储复杂的数据结构。

(3)SessionStorage中存储的数据仅在浏览器窗口或标签页内访问。如果打开一个新的标签页或窗口,将创建一个新的会话存储实例。

(4)SessionStorage适用于存储在用户访问网站期间仅需要临时使用的数据。它可以用于在多个页面之间保持状态,在表单提交或其他交互期间临时存储数据。

二、cookie、session区别:

    cookie、session都是用于在Web应用程序中跟踪用户状态的技术,但它们的实现方式和用途有所不同。

1、存储位置:

     cookie:Cookie是在客户端(用户的浏览器)上存储的小型文本文件。Web服务器通过设置HTTP响应头中的Set-Cookie字段来创建Cookie,然后浏览器将其存储在用户设备上。当用户再次访问相同的网站时,浏览器会将Cookie发送回服务器,以便服务器识别用户。

    session:Session是在服务器端存储的数据结构。当用户访问Web应用程序时,服务器会为该用户创建一个Session,并将其与一个唯一的Session ID关联。这个Session ID通常会通过Cookie发送给客户端,以便在后续请求中识别用户。但是,也可以通过其他方式(如URL参数)传递Session ID。

2、生命周期:

    cookie:Cookie具有指定的过期时间,可以是一个具体的日期或相对于当前时间的时间段。在过期时间之前,Cookie将一直存在于用户的设备上。我们也可以手动进行删除Cookie。

    session:Session的生命周期通常与用户在Web应用程序中的活动相关。当用户在一段时间内没有与服务器进行交互(称为会话超时),或者用户显式地注销时,Session将被销毁。

3、安全性:

    cookie:由于Cookie是在客户端存储的,因此它们容易受到篡改和窃取的风险。为了提高安全性,可以对Cookie进行加密,或使用安全标志(如SecureHttpOnly)来限制其在浏览器中的使用。

    session:由于Session数据存储在服务器端,因此它们相对更安全。然而,Session仍然可能受到会话劫持和固定攻击。为了防止这些攻击,可以使用安全的Cookie传输Session ID,或在用户登录后重新生成Session ID。

4、存储容量:

    cookie:Cookie的大小受到浏览器限制,通常为4KB。因此,Cookie不适合存储大量数据。

    session:由于Session数据存储在服务器端,因此可以存储更多的数据。然而,存储大量数据可能会影响服务器性能,因此需要权衡存储需求和性能影响。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玊玊玊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值