客户端储存

客户端储存分为 cookie(自动携带)和web storage(本地储存)

1.cookie为会话存储:

特定域绑定,设置cookie后,他会与请求一起发送到创建它的域

一些限制:每个域不超过20个cookie,浏览器不超过300个cookie,每个cookie不超过4096个字节……  

cookie  文件最大 <= 4kb
2.web storage 只能存储字符串,所以非字符串需要转为字符串,最常用 JSON.stringify()
  Web Storage实际上由两部分组成:sessionStorage()与localStorage ()  。
 1  //  ================= 持久化存储
 2         //  存储信息 setItem(key, value);
 3          localStorage.setItem('user', '张三'); 
 4 
 5 
 6         // 获取信息 getItem(key); 
 7          let user = localStorage.getItem('user'); 
 8          console.log(user);
 9 
10 
11         //  删除全部信息  
12          localStorage.clear();  
13           删除单独一个信息  removeItem(key)
14        localStorage.removeItem('pwd')

sessionStorage() 和localStorage() 方法是一样的 只不过应用的时候把localStorage替换成sessionStorage就可以了

这两种都可以用来储存表单里面的元素 只不过举一个例子:

 

 

1 // =========================== 会话存储
2         // sessionStorage.setItem('ajax', 'ajax学习')
3         // console.log(sessionStorage.getItem('ajax'));
4         // sessionStorage.clear()
5         // sessionStorage.removeItem('pwd')

面试题:

三者对比
不同点
cookie

1 存储数量据小
2 在设置的期限到达之前有效,及时关闭浏览器*
3 在同一浏览器的所有同源窗口共享 必须是同一浏览器(前提是同源),即使页面不同也可以拿到;在不同浏览器中即使同源,同一页面也不能共享cookie
4 cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递

sessionStorage
1 存储数据量较大 约4M
2 当前浏览器关闭之前有效
3 只在当前浏览器的当前会话共享 ,即使是同一浏览器,不同会话也不能共享cookie
4 sessionStorage不会自动把数据发送给服务器,仅在本地保存

localStorage
1 存储数据量大 约5M  只能存字符串
2 除非自己删除,否则一直有效,即使浏览器关闭
3 在当前浏览器所有同源窗口共享*  在同一浏览器中不同页面也存储数据
4 localStorage不会自动把数据发送给服务器,仅在本地保存

相同点
1 都可以用来存储数据,且都保存在客户端(浏览器)
2 都必须是同源

posted @ 2022-05-23 17:16  请善待容嬷嬷  阅读(25)  评论(0编辑  收藏  举报