Cookie的使用(使用C#)

相信大家对Cookie这个词并不陌生,甚至没有程式背景的人也都知道这个词

在删除浏览器纪录时,会出现是否要删除Cookie的选项

要是删除的话,之后在进入FB或Youtube之类需要登入的页面时,就会发现帐密需要重登了

那究竟Cookie是什么东西呢?

在提到Cookie之前,首先我们先来介绍一下作用域(Scope)这个词

基本上,一个变数的作用域,指的是该变数能使用的范围

通常听到的就是区域变数以及全域变数

这里的区域与全域指的就是变数的使用范围

同样的概念,在Web中一样也会有作用域的存在

而且通常该作用域都会有相同名称的物件存在

所以我们要来介绍常见的作用域

第一个最基础的作用域为Request

当你想要进入一个网页时,浏览器会对伺服器发送一个页面请求(Requset)

而这个请求可以想成是一封信

信的封面会有一些信的资讯(Header)

信的里面会包含此信件的内容(Body,里面包含Data或夹带的File)

伺服器取得这个页面请求后,对里面的data进行处理后,会回传一个回应(Response)

浏览器取得回应后,将页面内容显示在页面上

而因为已经取得我们要的资料了,所以之前的Request也就不需要了

所以,一个Request的生命周期为一次的请求与回应

但假设我们正在浏览的网页是VIP才能浏览的

难道每一次发送一个请求时,都要做一次身分认证吗?

所以接下来可以利用第二个作用域—Session

Session的生命周期为进入Web时到离开Web后

也就是在浏览网站的整个期间都是Session的作用域

除非离开网站或者关掉浏览器,不然Session都会一直活着

像是一开始登入会员后,以后的操作都不需要再认证身分了

原理是在登入会员时,将你的会员认证与资料写在Session里面了

所以每一次请求新页面时,都可以去Session确认你的身分,不需要再重新验证了

而Cookie到底是什么呢

Session的物件存在于伺服器(程式)里面

为了避免伺服器的负担太重

所以我们将使用者的资料储存在使用者的电脑里面

而该资料档案就是Cookie

Cookie存放的位置会随着浏览器的不同而有所不同

只要程式对使用者的电脑写入Cookie

之后使用者每次登入网站时

就可以直接去使用者的电脑找Cookie,使用之前的资料了

Cookie的存取写得好,可以省去很多设定与查询的时间

所以接下来要来简单介绍一下Cookie的操作方法

设定Cookie的方法:
在这里插入图片描述
从Cookie取值:
在这里插入图片描述
删除Cookie
在这里插入图片描述
至于删除Cookie的部分

Response.Cookies.Remove这个方法似乎是移除Server上的Cookie,而不是使用者端的

另外还有一个方法,若取得Cookie并设定使用期限后,使用HttpContext.Response.Cookies.Set方法也覆盖不回去

详细原因我不是很清楚,只知道大部分的写法是像截图那样的处理方式

而且这一篇是一时兴起练练之后的笔记

所以之后若是实战中有使用到,或者对这部分的底层有更深入的了解的话

会再详细写一篇来分析研究吧

总之想玩玩看Cookie的人可以试试看~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值