00:00
下面呢,我为大家演示两种效果。那么这两种效果,我们大家估计平常上网的过程里边啊都见过,但是你想过没有,为什么会出现这样的效果。大家看我现在想访问一下京东,京东点。com。哎呀,京东里边东西真多呀,是不是买几样吧?哎,这儿有好吃的。是不是三只三只松鼠是不是零食啊,好买点。买点,哎,你注意啊。我买这个。加入购物车。然后呀,这这看着就好吃是吧。
01:00
加入购物车,加。要哎呀,这都要是不是这么好的东西。OK,就这吧。我问问大家。我加入购物车了。我登录了没有。你看看。我登录了没有。没有吧?是不是我没有登录啊。没有登录,哎,我的购物车里边有东西没有。有。对不对,有这么多,就是我刚才。采购的这些东西啊,好,那么我想问一个问题,看好了,我把这个页面关掉。然后我重新打开。京东,我想问问大家,我打开这个京东购物车,里边有东西没有?
02:08
估计你平常就没注意过这个问题。有东西没有?你说。没有,你说有有没有呢。看看有没有。有啊。这这这就有点问题了呀。咱们大家会想这个问题啊,我要登录了。我加入购物车,我再关闭以后再登录肯定有,可现在是我根本就没登录。它里边是不是还有啊。嘿。这这这个怎么实现的。是不是这个是怎么实现的。那我问一下啊,如果现在我再换一台电脑。
03:04
我打开京东,那我问问你。这个购物车里边有东西没有?那你知道肯定没有是吧。那就是我换了一台机器,它就没有了。那那那这数据是保存在哪儿呢。那这个我的购物车里边,这个数据是保存在哪儿呢。是保存在服务器吗?肯定不是哪儿的数据是保存服务器的,如果你登录了是吧,然后登录以后你选择了好多商品放到购物车里边的。你再换一台电脑,你登录进去以后,你的购物车里边是不是还有那些数据啊,为什么?因为这些数据是存放在服务器里边的。所以你可以看到,那为什么。
04:03
我在没有登录的情况下。让我加到购物车了,在我这台机器上再打开京东它还有,可是我换一个机器它就没有了呢,这说明一个什么问题?这说明一个问题啊。那就是这个数据肯定是存放在我当前这台电脑上的,也就是说它是存放在客户端的。对不对。那我问一下啊。我现在不仅把页面关了。我把电脑关了,重启。你让我再打开京东。那么我的购物车里边这些东西有没有?不知道是吧。
05:00
我可以告诉你。还是有的。那说明什么?说明这个数据不仅存放在客户端,而且是存放在客户端的哪儿。硬盘上吧,它不是放在内存了,因为内存里面数据是不是一关机就没了呀,它是存在硬盘的。如果现在给你演示的这个效果。你没留意过,那么我们再访问一个啊,哪个呢。126是吧,126的邮箱,我用的126的邮箱。诶,这个大家应该注意过吧,你在126只要登录过一次了,是不是这个你这个邮箱的。你的用户名是不是就在这儿就显示出来了呀。对不对,它默认这是不是就有啊,那我问问你。
06:00
你再换一台机器。你到126,你打开126这个首页,它里边会不会显示。你的这个。邮箱的名字呀,会不会,那肯定不会呀。是不是我这显示的是加va。你打开你的,你用你的电脑。进到126邮局。那肯定不会显示Java呀,显示的是不是你原来登录过的呀。然后呢,我。关了。其实不用管我刚才是不是就是打开就就就刚打开一个新的页面呢。你看我再关了他。我再打开它还是不是还显示我把电脑重启了,这显示不显示仍然是显示的呀,那为这个数据,那这个我们就知道。
07:02
他肯定也是存放在客户端的,不是放在服务器的。对吧,放在客户端,那肯定是放在硬盘了。这个没问题吧,好,这是一个啊。再看他。这是不是有个十天内免登录啊。十天内免登录什么意思?就是你输入密码,大家看我输入密码啊,我输入密码了,选择了十天内免登录。然后我一点登录,我进到邮箱以后。进去了。对吧,我现在进到里边了,然后呢。关掉。再打开。我问问你,现在我再敲回车,是进到了126邮局的首页,还是进到我的邮箱里边的,这大家知道,肯定是进到我邮箱了吧?
08:13
对不对,直接进到邮箱里边了。那我问问你啊。我再换一台机器。我进。还是用户名还输的是。瑞家了。我换一台机器。不是用户名输入这扣价吧,我换一台机器直接进到126邮局,那我问问你,他他是他是进到126邮局的首页了呀,还是进到我的邮箱里边了。那肯定是126邮局他的首页对吧,肯定不是我的这个页面说明这个。
09:01
用户名和密码呀。诶。他他验证了没有,我问问你,那是不是我选了那个以后他就不用再验证了。不可能吧,这大家应该知道,人家126邮局不可能对用户身份不进行验证,肯定是验证了,只不过你的用户名和密码保存下来了,保存到哪儿了?保存到客户端了。没有保存到服务器。你要保存到服务器,是不是就应该换一台机器,它也能进去啊。他肯定是保存到客户端了。那你选上十天内免登录以后,我问问你这台机器能关不能。这十天里边你能关不能。当然能关了,那我关了以后,我在www.126.com它进到哪了。邮局首页还是我的信箱。
10:03
肯定是信箱啊,说明。说明。这个用户名和密码是存放在。我的浏览器存或者说存放在我的客户端,这台机小,我本地这台机器的硬盘上的。对不对。那么它是怎么实现的,像刚才这些功能它是怎么样完成的,怎么实现的,这里边儿就用到了一种技术。叫做cookie。Cookie。那下面我们来看一下cookie是什么?IA是九三年由网景公司。Neca前雇员发明了一种进行是前雇员哈,网景公司前雇员不是网景公司啊,是网景公司前雇员发明了一种进行网络混话。
11:12
状态跟踪的技术网警公司大家可能不清楚。但是网景公司它的一个产品,那是划时代的。什么产品浏览器?浏览器是第一个浏览器是网景公司开发的。再往后,才有了微软公司的IE。才有了后边的火狐啊,什么360啊等等等等等等。所以网景公司开发的这款产品,它是划时代性的。那么。永垂青史了。虽然这个公司。它的光景不长,很快就没了。但是他这个产品。
12:03
划时代性的。记入史册了。这是网景公司第一个大家应该知道它的产品啊,另外网景公司大家可能不知道啊,但是。国外的一个很重要的网站,很知名的网站,Facebook,大家知道吧,对不对,Facebook。他老板是谁呀?是不是那个马克叫什么呀?马克扎克伯格吧,是不是他是很有名的。那这个公司有名,其实这个公司创建之初啊。是谁给他投的资,是网景公司的老板,他也是,他也叫马克,叫马克安德森,这个这个这个叫大马克,那个是小马克,这个大马克给这个小马克投的资,然后。
13:07
实际上咱们说。网景公司,原来网景公司的老板才是才是幕后的大股东。才是Facebook的大股东。他做的风头。啊,这是网景公司啊,说到网景公司,大家应该或者说你了解一下啊,这两方面的东西啊,它是很有名的一个公司,那么。这里边儿说到一个绘画,你看一直说这个绘画状态跟踪绘画,绘画是什么东西。绘画。是由一组请求与响应组成的。绘画是由一组请求与响应组成。是围绕着一件事情进行的请求与响应什么意思?
14:04
这个啊。请求一响应,就像两个人在打电话。俩人说,啊喂。今天晚上有事没?咱们出去吃个饭吧,然后那边就说了,哎呀,改天吧,呃,咱改个时间吧,今天有点事儿。这是一次请求,然后一次响应。紧接着呢,他就说了,有什么事啊,有什么事比吃饭还重要呢?然后这又一次请求了吧,然后对方说了。那在哪儿吃饭的呀?你看这变化这么快,是不是马上说在哪儿吃饭的呀?啊,然后这边给他说。但在。北京饭店。
15:00
你瞧一听,北京饭店好啊。旁边那个卖羊肉串的是不是?诶,大家看这是什么?这就是一个绘画,一个绘画由一组请求和响应构成,那你想想这一组请求和响应它是围绕一件事情的。所以它们之间必须要有数据传递。那这个数据传递还有个名称,就叫做绘画状态跟踪。状态就是数据啊。绘画状态跟踪,就是绘画数据的跟踪传递。但是你需要注意我们使用的ittp协议啊,它是一种无状态协议,什么叫无状态协议?就是这一次请求和响应与下一次的请求和响应之间没有任何关系。
16:00
这次请求和想要的数据下一次。是获取不到的。也就是说,没办法实现。这种状态的跟踪。所以这时候就需要出现这样的一种绘画跟踪的技术。而cookie就是这样一种技术。他能够弥补了I协议里边的这种无状态的一个缺陷。诶,这先说了一下库奇是干嘛的啊。然后呢,Cookie是由服务器生成的cookie cookie。Cookie是什么意思啊,知道不知道?小甜饼。Cookie,是小甜饼啊。小甜品和绘画跟踪有什么关系啊,他是这样的啊,他这个,呃,这个国情不一样啊,当然现在我们国家很多软件公司也是这样的,那以前啊也老外。
17:06
那公司里边。一般啊,都是上午十点到十点半这半个小时是不工作的,是休息时间。大公司里边一般有专门的休息区。这西游记里边放了什么?有咖啡是吧?有纯净水,有各种饮料。还有各种甜点。了解,员工可以到那儿去吃。休息时间可以在那儿吃。诶,这个挺好是不是,那么这里面有个雇员啊,有个员工他非常喜欢。吃那个。小甜饼,其实cookie就是曲奇饼啊,非常喜欢吃那个东西,吃的时间长了。他只要从别人旁边一过。
18:00
别人一闻就知道。张三来了,为什么他身上都有内裤?小甜饼的味儿,有那个曲奇饼的味儿了。也就是说,根据这个cookie,我就能够识别出来这是谁。这个单这个这个这个技术啊,这个名称就是这样来的。Cookie。他就是绘画跟踪就这样来的啊,根据这个味道就闻出来是谁了,就跟踪了你了。当然了,现在啊,我们国家的很多新起来的互联网公司也都是这样的。那种休息区,有专门的员工休息区,里边也有各种各样的点心呐,饮料啊,让员工喝,让员工吃,这是一种福利。现在好多公司也都是这样。所以大家应该努把力进入到这样的好公司里边,是不是啊,Cookie啊,是由服务器生成的。
19:09
但是它是保存在客户端的,你注意服务器生成,但是保存在客户端它干嘛的,是一种信息载体,用来存储信息的。携带信息的这个载体中存放着用户访问该站点的会话状态信息。什么意思?就是存放数据的。只要我们的cookie没有被清空,诶,也就是说这个cookie可以被清空,只要这个cookie没有失效,也就是说这个cookie是可以失效的是吧,那么保存在其中的绘画状态就是有效的。当我们用户第一次提交请求以后,服务器会生成cookie,刚才说了他用服务器生成的呀。父亲会生声哭泣,并且把它封装到哪儿响应头里边儿。
20:03
然后以响应的形式发送给客户端,这就是为什么说cookie是由服务器生成而保存在客户端。我服务器给你生成以后,放到想要里边,然后传给了客户端,客户端呢就把它存到了。客户端里边。就把它保存下来了。然后当我们的客户端再次发送,注意是同类请求,同类请什么叫同类请求,我们后边会讲。再次发送同类请求以后,那么在请求里边就会携带着客户端的这个cookie数据,也就是说我这一次我再发的这一次请求,就把上一次。请求和想象里面那个数据是不是就能拿到啊。然后发送给了服务器,服务器就接收到这一次的。你发过来这个数据。一一看哦,这是那一次的和那一次是不是连着的呀,那么由服务器完成绘画的跟踪。
21:07
这样的话,这个库位里边携带的数据就可以在多个请求和响应里边进行传递了。那么需要大家注意的是啊,Cookie技术不是我们加web开发的专属技术,而是web开发的技术,所有的web开发语言都支持。Cookie是什么?是个建职队。Cookie由若干键值对构成,这里边的键一般是name,值是value,而它的键和值都是字符串。OK,那么通过这一段啊,我给大家呃分析这段,让大家先了解什么是cookie。那么后边我们就来写相关的代码了。
我来说两句