cookie 和 localStorage 、sessionStorage、 session不同

本文深入解析前端存储技术,包括cookie、localStorage和sessionStorage的特点及应用。对比了它们的存储大小、时间限制,以及如何设置、获取和删除这些存储项。同时,强调了它们在客户端与服务端session的区别和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. cookie:存储大小4k 有时间限制,会跟在ajax的请求头上
2. localStorage: 存储大小5M 没有时间限制
3. sessionStorage: 临时会话存储 当浏览器关闭的时候信息自动销毁
注:以上三种都是属于客户端的,传输类型为字符串

服务端==>session:后端的cookie 安全性相比较前三个来说 安全性特别高

cookie,localStoraga,sessionStorage 都遵循同源策略

cookie是由服务器设置的,当你发送ajax的时候,无论你是否想要发送cookie,它都会跟在请求头那里。

cookie会话跟踪技术(不存密码)

会话,你在浏览器进行操作,这样的行为叫做会话

会话结束:关闭浏览器

回话跟踪技术:通过一系列的操作,确定用户,记录用户的行为;

cookie是服务器写在客户端

当你打开第一个新页面时,服务端会判断你当前页面是否有cookie。

cookie过期时间默认为会话结束时间,如果设置时间,则到时间后过期。
 

1.设置cookie;
document.cookie = 'name=guoqian';
 

document.cookie = 'age=24';
document.cookie = 'address=hunan';
document.cookie = 'user='+encodeURIComponent('张三;'); 
2.封装的cookie;
setCookie('teacher','28');

function setCookie(_name,value,day){

//var data = new Date();

//data.setDate(data.getData()+day)

var data = Date.now();

data =new Data(data +=day *24*60*60*1000);

expires = "expires="+data;

document.cookie = ` ${key}=>${value;}${expires} `;

}

1.获取cookie的方法 
function getcookie(){

var arr = docment.cookie.split(";");

}

 

2.获取指定cookie

function getCookie(_name){

    var str = docment.cookie;

var arr = str.split(;);

var len = arr.length;

for(var i=0;i<len;i++){

    var newarr = arr[i].split('=');

if( newarr[0] ==name){

    return newarr[1]

} }

 

 3.删除cookie

function removeCookie(_name,_val){

     setCookie(_name,_val,-1);

    } 
 

1.设置cookie;
document.cookie = 'name=guoqian';
 

document.cookie = 'age=24';
document.cookie = 'address=hunan';
document.cookie = 'user='+encodeURIComponent('张三;'); 
2.封装的cookie;
setCookie('teacher','28');

function setCookie(_name,value,day){

//var data = new Date();

//data.setDate(data.getData()+day)

var data = Date.now();

data =new Data(data +=day *24*60*60*1000);

expires = "expires="+data;

document.cookie = ` ${key}=>${value;}${expires} `;

}

1.获取cookie的方法 
function getcookie(){

var arr = docment.cookie.split(";");

}

 

2.获取指定cookie

function getCookie(_name){

    var str = docment.cookie;

var arr = str.split(;);

var len = arr.length;

for(var i=0;i<len;i++){

    var newarr = arr[i].split('=');

if( newarr[0] ==name){

    return newarr[1]

} }

 

 3.删除cookie

function removeCookie(_name,_val){

     setCookie(_name,_val,-1);

    } 
 

本地存储 :localStorage()和sessionStorage()
一、localStorage() =》页面传值大,数据量大,不人为清除的话,生命永久,不会清除

1.创建localStorage 

localStorage.getItem("name");

localStorage.setItem("name","张三");

localStorage.age = 19;

localStorage["sex"] = "男";

 //var obj = [{id:0,num:1},{id:1,num:2}];
 //localStorage.setItem("init",JSON.stringify(obj))
 console.log(localStorage.getItem("name"))
 console.log(localStorage.age)
 console.log(localStorage["sex"])
2.删除localStorage 

localStorage.removeItem("name")
localStorage.clear()
 

3.循环查看localSrorage 

for(var i=0;i<localStorage.length;i++){
    var _name = localStorage.key(i);
    console.log(localStorage.getItem(_name))
}
 

 二、sessionStorage: 临时会话存储。 当页面关闭的时候信息自动销毁,只作用于当前窗口,不会作用于其他的窗口。

sessionStorage.setIem("key","value");
sessionStorage.clear//清除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值