前端本地存储:cookie,sessionStorage和localStorage

一,前言

1.浏览器提供了三种常用储存方式可以在浏览器中对数据进行保存,分别是localStoragesessionStoragecookie

2.其中cookie兼容性最好,localStoragesessionStorageIE8以上都是支持的。

二,cookie介绍

1.cookie是最早的存储数据的方式。

2.设置cookie

(1)基本方式:document.cookie = 'key=value'

(2)使用expires设置过期时间:document.cookie = 'key=value;expires=GMT(格林威治时间)格式的日期型字符串;',注意是字符串

//设置5分钟后过期
document.cookie = `username=123; expires=${new Date(new Date().getTime() + 5 * 60 * 1000).toGMTString()}`

(3)当没有设置expires时,cookie是临时的,页面关闭时就会删除。

(4)我们可以在开发者工具上查看存储的cookies

在这里插入图片描述

3.读取cookie

(1)访问所有的cookie,返回字符串:document.cookie

(2)注意在cookie中没有获取某个key的原生方法,要达到这个目的要自己对字符串进行处理,注意分割; 之后有一个空格

在这里插入图片描述

4.删除cookie

(1)document.cookie='key=value;expires=过去的时间':将过期时间设为过去的时间即可删除相应的cookie

document.cookie = `username=; expires=${new Date(0).toGMTString()}`

5.存储在cookie中的数据,每次都会被浏览器自动放在http请求中。

6.一个域名下存放的cookie的个数是有限制的,不同的浏览器的限制都不太一样,建议<30个。

7.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样,一般为4KB

二,sessionStorage

1.用于本地存储一个会话中的数据,在浏览器关闭时删除数据,不能用于长期的储存

2.只有同源的页面才能访问,单标签页,两个相同的页面sessionStorage,不能互相访问。

3.设置sessionStorage

(1)sessionStorage.setItem(key,value)

4.访问sessionStorage

(1)根据key值取值:sessionStorage.getItem(key)

5.删除sessionStorage

(1)根据key值删除:sessionStorage.removeItem('username')

(2)一次性删除所有存储:sessionStorage.clear()

6.获取所有sessionStorage

(1)sessionStorage.valueOf():以对象形式返回所有存储的sessionStorage

7.sessionStorage存储大小一般是5MB

三,localStorage

1.持久化的本地存储,除非主动删除数据,否则数据是永远不会过期

2.存储的信息在同一域中是共享的

3.localStorage的使用方式和sessionStorage是一样的

4.设置localStorage

(1)localStorage.setItem(key,value)

5.访问localStorage

(1)根据key值取值:localStorage.getItem(key)

6.删除localStorage

(1)根据key值删除:localStorage.removeItem('username')

(2)一次性删除所有存储:localStorage.clear()

7.获取所有localStorage

(1)localStorage.valueOf():以对象形式返回所有存储的sessionStorage

8.localStorage存储大小一般是5MB

四,cookielocalStoragesessionStorage三者的区别

1.localStorage只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份

2.sessionStoragelocalStorage更严苛一点,除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下

3.cookie的数据会在每一次发送http请求的时候,同时发送给服务器,而localStoragesessionStorage不会。

4.cookie的储存大小是4kbsessionStoragelocalStorage存储大小一般是5MB

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: cookiesessionstoragelocalstorage都是储在浏览器端的数据储方式,它们之间有以下几个区别。 1. 生命周期:cookie有一个过期时间,可以设置在将来某个时间点过期失效;而sessionstoragelocalstorage没有过期时间,当浏览器关闭时才会被清除。 2. 储空间:cookie储空间较小,一般为4KB,适合储少量信息;而sessionstoragelocalstorage储空间较大,一般为5MB或更大,适合储较大的数据量。 3. 数据传输:cookie会在HTTP请求头中自动传输到服务器端,因此可以被服务器端读取;而sessionstoragelocalstorage在于浏览器端,不会传输到服务器端。 4. 数据共享:cookie可以被不同页面和不同域名下的页面共享;而sessionstoragelocalstorage只能被同一页面下的脚本访问,无法被其他页面或不同域名下的页面共享。 5. 安全性:cookie储在客户端,容易被恶意用户截获和篡改;而sessionstoragelocalstorage储在客户端,但相较于cookie,安全性更高。 综上所述,cookie适合储少量、需要在浏览器与服务器之间传输的数据;sessionstoragelocalstorage适合储较大量、仅在浏览器端使用的数据。 ### 回答2: cookiesessionStoragelocalStorage是Web开发中常用的三种储方式,它们之间的区别如下: 1.数据储位置: - cookie储在客户端,以文本的形式储在浏览器的内中或者硬盘中。 - sessionStorage:也储在客户端,但在打开的浏览器窗口中是逐个会话级别的。 - localStorage:同样储在客户端,但是除非被手动删除,否则数据将永久保。 2.数据储大小: - cookie:每个cookie储容量一般为4KB,并且每个域名下的cookie数目也有限制。 - sessionStoragelocalStorage:它们的储容量一般为5MB或更大,相对来说比cookie的容量要大很多。 3.数据生命周期: - cookie:可以设置cookie的过期时间,储在客户端的浏览器中,当超过设定的过期时间后,cookie将被自动删除。 - sessionStorage:仅在当前浏览器窗口关闭之前有效,关闭窗口后数据将被清除。 - localStorage:除非被手动删除,否则数据将永久保。 4.数据发送到服务器: - cookie:在每个HTTP请求中都会将cookie发送到服务器,增加了网络流量。 - sessionStoragelocalStorage:数据不会自动发送到服务器,只储在客户端,不会增加网络流量。 总结来说,cookie是最老的储方式,容量小且需要手动设置过期时间;sessionStoragelocalStorage是HTML5新增的两种储方式,容量较大,localStorage还可以永久保。它们各有优缺点,开发者在选择时需要根据实际需求来确定使用哪一种。 ### 回答3: CookiesessionStoragelocalStorage是Web前端开发中常用的储数据的机制,它们有以下区别: 1. 储方式:Cookie将数据储在浏览器和服务器之间,通过将数据放在HTTP请求和响应的头部信息中进行传递。sessionStoragelocalStorage则将数据储在浏览器端。 2. 储大小:Cookie的数据大小通常被限制在4KB,而sessionStoragelocalStorage储容量较大,可达到5MB或更多。 3. 生命周期:Cookie有一个指定的过期时间,如果未设置过期时间,它将在浏览器关闭后自动删除。sessionStorage的数据在当前会话结束后被清除,而localStorage的数据将一直保留,除非手动清除或代码中删除。 4. 作用域:Cookie的作用域可以是特定的域名和路径,可以被不同页面和浏览器共享。sessionStoragelocalStorage对于同一域名下的所有页面都是可访问的,但不同浏览器之间的数据不共享。 5. 数据安全性:由于Cookie会在HTTP请求头中进行传递,它的数据可以被网络拦截和篡改。sessionStoragelocalStorage则更加安全,数据只在于浏览器中,不会被网络拦截。 6. 数据访问:Cookie可以在服务器端和客户端都进行操作。sessionStoragelocalStorage则只能在浏览器端通过JavaScript代码进行访问。 总结来说,Cookie是一种客户端和服务器之间传递数据的机制,储容量小且数据不安全。sessionStoragelocalStorage则是储在浏览器端的机制,储容量大且数据相对安全。两者的区别在于生命周期和作用范围。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值