00:00
来我们接着往后看啊,呃,那我们在昨天的这个基础之上呢,啊来往后说,首先呢,先给大家去解决一下昨天我们最后遇到的那个问题。还记得什么问题吗?啊,我说这个cookie它默认情况下是在浏览器内存里面的,浏览器一关它就应该没有了是吧?啊,我这测试了好半天,死活就不好使,然后呢,让你们测试了一下是好使的是不是对吧?也有写完代码的测试过的同学吗?应该是一样的吧,跟我那个结论我告诉你啊,就是因为浏览器的问题啊,我也不知道这个火狐这个浏览器它里面有什么设置啊,我也没有去去找啊,就是昨天下去以后,我立马把我那个火狐给卸载了,然后重新装了一个,发现还是一样的。啊,还是我课堂上演示那个效果,所以说呢,我怀疑就是这个火狐里面,它应该是这个高版本里面可能有一些什么设置什么的啊,我没有具体去找,呃,然后呢,我就又安装了一个谷歌啊谷歌来去测试,或者说这个IE去测试是没有任何问题的,能明白吧?啊也就意味着啊,我们把这个问题呢,再来给大家去说一下,啥问题呢?就是我们昨天掌握的呃,这个cookie啊,这个东西你首先呢,诶给它加到这个浏览器里面,就是通过我们这个response加到这个浏览器端,然后呢,它会把这个呢,默认保存到当前浏览器的内存里面,也就意味着当我的这个浏览器只要一关闭它的内存是不是就释放了呀,释放了以后呢,这个cookie就已经没有了,明白这个意思吧,所以说呢,哎,你再去获取你这个cookie的时候呢,哎,你应该就拿不到这个cookie了啊,你就拿不到这个cookie了,能明白吧?OK,我们把这个过程呢,再来给大家去演示上一遍啊啊最后呢,大家一定要把这个结论记住。
01:45
好了,那么至于这个火狐这个浏览器的这个问题呢,我们暂时就先不研究它了啊,其实对于我们使用上来讲的话,没有任何影响的,能理解吧啊没有任何影响的啊好来,我把我就在这个WEB02的启动了,启动以后呢啊,你看我先用火部给你访问是吧?啊logo host4个八,然后呢,WEB0啊有一个cookie,我记得叫什么呀,Cookie是吧?这个叫做什么?添加cookie来回车走一下,好呃,接下来我们看它这里面的这个数据啊,大家来看一下。
02:25
诶怎么使用使用自定义的来记录例子中间是默认是它吧,啊先改成它,改成它以后呢,我们再来访问一下啊好走一下,然后呢,看这里面啊,我先全部都移除一下,重新来一下啊找一下啊大家来看这里面现在是不是有我们这个cookie啊对不对,OK,那么现在的话,如果说啊,我直接去什么呀,获取这个cookie,然后呢,四个八,然后呢,WEB02叫做什么get cookie啊sorry啊回撤大家看是不能获取到的,OK,获取到以后呢,你注意了哈,我把这个浏览器关掉,关掉以后呢,应该就没有了是吧?好,我再打开这个火狐浏览器,再CTRLV,然后呢,再来访问一下,我把后台呢清空一下。
03:12
好,我们再来访问。等一下哈。这是谁访问的,是不是有同学访问我了啊,应该是吧,来不要访问我啊,不要反问我啊,那现在我们来这个访问一下啊。大家看一下他是不是能拿得到的,对吧?啊,就说这东西特别讨厌,你知道吧,但是呢,你看了啊,我换成这个谷歌以后啊,大家先不要反问我啊,都听话是吧?嗯。来我们换成这个谷歌以后呢,我们来试一下,那么首先呢,我还是得先怎么着吧,先是不是添加cook k啊对吧,先添加cookie好添加了以后呢,大家注意啊,我现在呢,再去通过我的谷歌浏览器呢,再去啊获取这个cookie走一下,大家看能不能获取得到,可以获取得到吧,获取到以后呢,大家注意哈,其实在这里面我们是能看到我们的cookie的啊,我们再打开的去看一下设置里面,哎哟,这里面在高级吧,应该是高级里面有应该有一个内容设置是吧,这里面的话有一个cookie和什么网站数据,然后呢,有一个查看所有的cookie和网站数据,你看这里面是是有有个local host啊,点进来不就是我们的username吗?看到了吧啊,然后到期时间的话,你看一下是不是也是浏览会话结束时啊,OK,好,那现在我们能看到我是能获取到这个cookie的,对不对,然后接下来呢,QQC我把它关掉,关掉以后呢,我再来打开一次。
04:47
好,CR,我们再来访问。大家看有没有没有的,这就是正常现象,能理解吧,你用IE测试它也是这个样子的,唯独这个火狐,它可能是里面有一些什么设置啊,就新版本里面可能有些设置啊,然后呢,呃,这个具体的问题呢,我们就先不研究它了,你就把我们这个最最终的这个结论先记住了,听懂了吧,那么如果说诶,我想让我的这个cookie保存的这个时效更长一点的话,那我也告诉过大家,我们可以通过这个set max edge来去啊设置它的这个保存时效,能听懂吧,然后呢,你也可以设置它的这个什么保存的路径啊,这个呢,都是我们这个在保存cookie的时候可以啊做一些选择性的设置的啊OK,那我们就把昨天这个问题呢给大家去先来解释一下,呃,解释完成以后呢,我们在讲这个第二个技术叫做塞啊,在讲这个三之前呢,我还是想给大家再去说一下这个cookie这个机制啊,我们要对照着去说我们这个session。
05:48
那么大家来想一下,这个cookie机制是什么样子的,还记不记得?什么样子的?首先我们在讲这个cookie之前呢,给大家说的这样的一个话题,说HTTP协议它是一个无状态的,还记不记得对吧,一定要注意它是一个无状态的,就是它这个连接不会一直给你保存,就是一直不会一直给你保持起来啊,就是根们你连上以后呢,你们两个请求过去了,连上了响应结束了就断开了,就是不会把这个连接给你维护起来,听懂了吧,这叫做无状态了啊,那么如果说我想让服务器端呢帮我去啊,或者说我们想在让浏览器跟这个服务器端的去维护一些状态的话,那我们就必须得用到我们这个状态管理,也就是我们这个cookie,他就是状态管理里面其中的一个,那么他是怎么来维护这个状态的呢?大家听我说他第一次过去的时候呢,诶第一次过来的时候就是我们的第一次,OK,那么服务器呢,注意哈,服务器在响应回去的时候呢,它会给它响应回去一些什么呀,Cookie数据。
06:53
啊,会响应回去一些什么cookie数据,能理解这个意思吧,而这个cookie数据呢,就会保存到我们这个浏览器端,它就会什么保存下来了,那保存下来以后呢,其实这一次就断开了,断开以后呢,其实它跟它现在有关系吗。
07:09
没有任何关系吧,那么我浏览器再次去访问服务器的时候,如果说我发现我保存了这个cookie啊,跟你当前访问的这个请求URL的这个地址是匹配的,那么他就会把保存下来那个cookie呢给你啊,发送到这个服务器端,那么服务器端看到这个cookie以后,是不是相当于知道了谁上一次访问的我,以及什么这个具体的一些什么数据是什么了吧,对不对,就是这样的传来传去,哎,我们就可以什么去维护一个状态了。啊,这是我们的一个cookie机制,但是大家注意这个cookie是保存到什么地方的,保存到什么呀,保存到浏览器端的,这个是极其不安全的,明白了吧,而且我们也说过,它是一个铭文传输的,它也是很不安全的,你比如说把你那些很关键的信息,像你这个网站上记录了一些什么,比如说你想记住密码,对吧?呃,你登录一个网站,你想记住密码,那么你把一些用户名跟密码都记录下来了,那么如果拿把这个当成铭文来去传输的话,这个是很不安全的。
08:10
那这个吧,哎,这个是相当不安全的,OK,好,那么为了能让大家去理解这个cookie啊,以及它的这个不安全性呢,我再给大家去举一个例子来去说一下啊,现在看看咱们班有没有这个爱吃这个的是吧?啊,你们这个吃过那个什么什么什么大鸡排是吧?都吃过是吧?啊,一般大鸡排都跟奶茶店开到一起是不是?是不是啊,我觉得这也是大数据算过的啊,是不是像那个国外不是那个啤酒跟尿布是吧,都听说过这个吧,啊还有呢。啊,还有好多我告诉你啊,像超市里面那个摆的那个货架,那都是随便摆的吗?是不是那都是有科学的对吧?那都是有科学的,不是随便摆的啊OK啊,那这就是数据统计了,对吧?我去统计一下,然后呢,分析出有价值的信息来啊,那我就知道该怎么去做了,对不对啊。
09:11
好吧,来听我说啊,给大家举个例子啊,以前呢,我我们那个公司啊,就是我以前那个公司啊,楼下啊有个卖这个大鸡排的啊,但是呢,他这个生意的不咋好,你知道吧啊,但我觉得还挺好吃的啊啊可能是那边的人都都不咋爱吃是吧?啊然后呢,他就搞了一个活动,什么活动呢,就是呃,你买买够这个十次以后呢,我免费送你一次。能明白吧,那你想想他怎么就知道你买够十次了呢,他在记录这个状态吧,但是呢,这个状态我不可能说我我一直跟你保持着这个联系吧,我每天过去跟你说一声,我已经买了五次了啊不行吧,对吧,他得想办法去保持这个状态,但是呢,对于这个小的就是一个小门脸小店来讲的话呢,让他去搞一些这个高端的一些这个设备,他他也不可能对吧,他就很很简陋,怎么个简陋法呢?就是你第一次去买的时候,比如说啊,这是你,这是你自己是吧。
10:08
啊,这是你自己是吧?嗯,来画个小人是吧。啊,对吧,这是你自己,然后呢,呃,你第一次去买这个时候呢,这是我们那个店是吧?你第一次过来的时候呢,啊,比如说这是你第一次买啊,那么啊,这个店做个回应呢,他会把一张卡片啊,他给你一张卡片能理解吧,这个卡片上面呢,给你盖了一个章啊,就是盖了个小戳是吧?盖了个章代表着你已经买了一次了,然后呢,你下一次再去买的时候,你肯定要在这个基础之上,是不是要记录一下你这个状态啊,对吧?那么你下次买的时候呢,你就得把这个卡片呢,再给他发送过来,那么你是第二次去买啊,然后呢,把这个卡片呢,再给他拿过来,那么他再作为回应的话呢,就是又给你一张卡片,还是原来的卡片,只不过盖了两个章。对不对,OK,那么这样其实就是一个cookie的机制,我们要把这个数据传来传去,传来传去,但是呢,这个卡片一直是在谁手里面保存着的,一直是在你自己手里面,也就是我们的客户端保存着的,那么这个就有一个漏洞,有个啥漏洞啊,我自己刻个章,我没事干我就盖个章啊,我每天盖错板是吧?啊,我今天我去买一次,明天我就可以免费领一个,我回去自己盖九个。
11:25
是不是啊啊,然后呢,你觉得他能知道这是你自己盖的吗。只要你盖的一模一样,它也不因为你们两个之间是状态是记录到你这边的,服务器是不知道你的。能听懂这个意思吧,你看他每天那么多人来来去去,他哪个记住是你啊。对吧?啊,除非你有这个很明显的特征是吧?啊所以说呢,这个状态维护到这个浏览器端中,它是极其不安全的,那我每天我自己就盖一个章是吧?啊这样的话呢,啊,可能几天以后你就发现这个店已经关门了,对吧?然后干起了什么生意啊啊刻章是吧?嗯,能解到这个意思了吧?OK,这就是我们的cookie的一个机制,那么大家注意,我讲这个的目的呢,还是想要你去理解这个cookie,第一个它的这个机制是什么样子的,第二个它是不安全的,能明白吧,第三个它的状态是保存在客户端的,能听懂了吗?OK,它是保存在客户端的啊,那么这就是我要给大家去讲的这个cookie啊,这样的一个机制啊,那么我们知道了它这个不安全,但是呢,我还想去维护这个用户的一个状态,那么其实我们就可以使用一个叫做session,省把这个状态呢给它维护到我们的服务器端,那么接下来我们就来说一下这个session它是怎么去维护这个状态的。
我来说两句