ASP.NET Cookie基础
(1)HTTP无状态协议:是指协议对于交互性场景没有记忆能力。就是说HTTP的服务器端不会记录每一次的请求都是由谁发起的。
(2)cookie定义:服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一个服务器再发送请求的时候被携带并发送到服务器上。
注意:它总是自动的随着HTTP请求在服务器和客户端往返。因为cookie是存放在浏览器中的,所以cookie不能“跨浏览器”,但可以“跨Tab” ,比如同一个浏览器页面中在不同的Tab页中打开这个网址也是存在的。还要注意,在不同的域名下也是收不到cookie的信息的。
(3)在使用cookie的时候最好不要存放密码,或者存放加密过的密码,因为cookie里面的信息几乎可以说是公开的,因为很多方法可以获取到里面的信息。
在一个网址下打开一个链接,这时候当前网址下的cookie会随着http的请求带到新打开的地址上,这个问题也是有对应方法解决的。
在服务器端新建一个cookie,没有设置的过期时间的话,把浏览器关闭再次打开登录网站之后,这个cookie就没有了,因为在关闭浏览器的时候就自动关闭了,但是如果设置了过期时间,那么打开后还是存在。
(4)在.netcore默认禁止使用cookie中,使用cookie的时候需要做调整。
Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie;
Response.Cookies 在服务器上创建并以 Set-Cookie 标头的形式传输到客户端。
(6)在页面上做一个cookie,id是Email,value是值,期限是30天。
1 | $.cookie( "Email" , "值" , { expires: 30 }); |
在服务器端可以根据下面方式获取具体的信息,并修改信息
HttpCookie http = Request.Cookies["Email"];//获取客户端存在的cookie http.Expires = DateTime.Now.AddYears(2);//修改过期时间为2年 Response.Cookies.Add(http); Response.Cookies["SSS"].Value = "12";//创建一个新的cookie Response.Cookies["SSS"].Expires = DateTime.Now.AddDays(1);
结果:
(7)cookie的删除,在.net FrameWork环境中,可以设置过期时间小于当前时间,这样客户端就不会再接受到这个cookie了。
https://www.cnblogs.com/lingyejun/p/9282169.html 具体的可以在这里看
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术