asp.net中如何使用cookie session localStorage

一. cookie和session

1. cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“谁”了。
2. cookie虽然在一定程度上解决了“保持状态”的需求,但是由于cookie本身最大支持4096字节,以及cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且他保存在服务器,有较高的安全性。这就是session。
3.问题来了,基于http协议的无状态特征,服务器根本就不知道访问者是“谁”。那么上述的cookie就起到桥接的作用。我们可以给每个客户端的cookie分配一个唯一的id,这样用户在访问时,通过cookie,服务器就知道来的人是“谁”。然后我们再根据不同的cookie的id,在服务器上保存一段时间的私密资料,如“账号密码”等等。通常cookie保存用户加密后的的token.
4.cookie保存在客户浏览器中,session保存在服务器中.
5.对于有大量客户使用的网页,使用session时要慎重,可能占用很多服务器存储,导致iis服务崩溃.
5.设置

 Response.Cookies.Append("aaa","111");
 HttpContext.Session.Keys.Append("asd");
 byte[] buffer = new byte[1024];
 buffer=Encoding.UTF8.GetBytes("asdf");
 string s = "asdfasad"+Guid.NewGuid(); 
 HttpContext.Session.Set("asd", buffer); 
 return View();

读取

  string s = Encoding.UTF8.GetString(HttpContext.Session.Get("asd"));
  s = HttpContext.Request.Cookies["aaa"];

二.localstorage

localstorage 用作前端数据存储、跨页面传值,l以键值对的方式存储。localstorage 是前端window 的属性,通常使用JavaScript进行操作
!!! localstorage 只能存储字符串

window.localstorage.setitem("key","value");
window.localstorage["key"]="value";
window.localstorage.key="value";
window.localstorage.getitem("key");
window.localstorage["key"];
window.localstorage.removeItem("key");
delete localstorage.key;
delete localstorage["key"];
localstorage.clear();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值