00:00
Session看一下。Fashion翻译过来的名呢,叫绘画,那fashion这个绘画指的就是。有始有终的一系列动作和消息。比方说打电话,从拿起电话、拨号一直到挂断电话,这个过程就叫会话。那今天上午的话呢,我们谈到说跟踪用户的状态信息有两种方案,一种叫cookie,另外一种就叫fashion cookie呢是在客户端。来保存那个信息,然后在我每次发请求的时候,把那个cookie那个值传过来,诶,我已达到来看一下你是不是同一个浏览器发出的信息的这样的一个目的。那session呢?是在web开发环境下的语义有了新的扩展,它的含义是一类用来在客户端跟服务器之间保持状态的解决方案。
01:05
有时候三是用来指这种解决方案的存储结构。Session机制采用在服务器端保持HTTP状态信息的方案。session。在服务器端。HTTP。Session,这是一个类,这是一个接口。那实际上呢,我们在讲那个JSP隐含对象的时候,是不是有,是不是有一个就是session啊,当时我们讲了赛的两个方法,一个是。获取属性。还有一个是设置属性。服务器用一种类似于闪列表的方式来保存状态信息,然后我们主要要看这段话哈说当服务器需要为某个客户端请求创建一个session的时候,客户端会先检查这个客户端的请求里边是不是包含了一个叫session ID的标识,如果已经包含了,说明。
02:20
创建过session,服务器就把这个session找出来给你,如果要是没有的话,服务器就创建一个新的session,什么意思呢?看。发一个图,我找一个服务器。这是一个服务器。这是一个web服务器,好了,Web服务器呢,这个服务器本身啊,这里边已经有了一些session对象了,比方说我们说诶session对象HTTP。
03:09
三分之相。有一些比方说有个四五个是吧,好了,我们随便画一画。啊,这些对象的话,就在服务器里边放着呢,然后呢,我从这个浏览器啊,我发一个请求过来。我发一个请求,我发一个请求的话,我怎么知道我要去对应哪个session,或者是服务器给你创建一个新的session呢?如果你要是只是发了一个请求,比方说我像服务器就这么发一个请求是吧,这个时候服务器。没有办法给你一个session,因为这个时候怎么样,你没有带任何标识,那这个时候我这个一发的话,服务器将为它新创建一个session对象,看着这个时候有。这个时候。
04:00
将新创建一个赛程对象看。新创建。新建三对象,建完这三人对象之后OK?好拿到它跟它对应的话呢,就是这个给了,然后我在服务器返回这个响应的时候,注意看哈,返回响应的时候。这是什么呀?这是一个请求。这是一个响应。哎,我在返回这个响应的时候呢,它会以cookie的方式把这个session ID给你整回来,怎么呢,有一个叫set。Cookie剪头,这里边放的是一个,呃,一个很长的一个串,我们随便写一个。
05:07
OK。这个名叫什么呀?这是一个想像头啊,这个名应该这么说,这个名叫解3ID。这名叫他响应里边有一个什么呢?有一个set cookie显像头。这是一个cookie,然后呢,这个显回来了,这个显要回来之后的话呢,我们知道这个cookie这个基本机制是是什么呀,只要客户端接收它的话,在我下一次请求的时候,它是不是会自动的把这个cookie带回来啊。是吧,Cookie下一次带的时候的话呢,他就会把这个cookie给。请求的时候,他最后会把这个cookie给带回来。于是。还叫请求下一次哈,看请求注意。
06:00
这个叫cookie。好了,这个值的话呢,一带它是不是带了一个号回来啊,那我这里边的话呢,有这么多个三,每个三有一个唯一的一个标识号,他用这个号又找到了我这个cookie,如此这个呃,如此反复的话,我只要我浏览器不关。指的是这个cookie存在啊,我这个浏览器对应的就是这里的一个cookie对象,你就可以在这个cookie对象里边来。存储数据。这就是整个cookie的运行流程。先看我第一次请求的时候没有cookie,于是的话呢,再看诶来了一个哈,他没在那个3ID,好,我给你一个新的。然后的话呢,我回了一个响应,我把这个session的ID号的话呢,用cookie的方式给你传回来了,那根据cookie的机制,在我下一次再发请求的时候,他就会自动的把这个cookie给带回去,于是就用这个号找到了那个赛对象,如此形成了一个呃,往返的过程,然后的话呢,我们每一次请求就可以找到这个session,这个时候我session里面去做一些什么东西的话,我总可以拿得到,于是我们看一下它。
07:25
写一个fashion。第二,JSP。好,我们这样看。三里边有很多方法哈,3.getid,这就可以保存跑起来。复制。
08:07
工具。开发者工具。网络开始补货看。大家看我第一次请求的时候,我们看这个请求头哈,没有cookie吧。看响应。是不是返回了一个cookie啊,注意这个值来2422409万,是不是用这个。这个打印是服务器端打印的吧,服务器端session.get ID吗?好了,注意我第二次再请求我刷一下。看。请求是不是把这库一带回来了,22409万,于是什么呢?他就会找到刚才给你创建那个赛对象,然后的话呢,这个时候响应里边就不会包含那个cookie了,那如此的话,只要我每次请求我都带了一个cookie,这个cookie是谁呢?这个cookie啊是这个解session ID等于它我总会找到那个session对象,这个就是跟踪三申对象的。
09:20
机制或者叫原理,它是使用cookie来实现,那我们怎么办呢?我们可以禁用cookie,看in Internet选项,点丝。主旨。引用,呃,这个应用确定,不过需要把这个改成。不能用本机的哈,192。168.40.165。大家看每次是不是都是一个新的。能理解为什么每次他都是个新的吧,你看每次的话呢,我都不会带cookie过去吧,那没有cookie过去的话。
10:05
服务器就知道,哎,你没有你没有这个解单,解单ID过来哈,那我怎么办?我给你一个新的三对象吧,啊,我给你一个新的,然后呢,我把这个cookie给你。送回来了,比方说这个是什么,这个3C27OK,我给你了,给你之后的话,那我下一次再发请求的时候。我这个库音是不是没传回来呀,为什么,为什么没传回来呀。因为我是不是阻止所有cookie了,我cookie我我不要,我cookie不要的话,就意味着我下一次请求的时候,那个cookie我带不回去,我不要的话,我怎么能带回去呢?所以说你这种方式的话,就是每一次都是一个新的cookie,大家看吧。比方说mail点扣扣。Car。
11:00
嗯。动漫。没点163.com这个时候的话呢。看。您的浏览器设置cookie必须启用,不不启用的话没法登录,就是说像。这个我应应该没启用吧,大家看。对,我登录不了。你密码不正确。是不是不让登录啊,刚才那个密码已经对了啊,我改一下。Undo。
12:11
Unique。成功了哈,就不让你们看了。不知道里边给我发些什么东西。行了,哎,这样就可以。这就是三的基本机制。这个图大家需要清楚一下,我第一次请求,我不只要,我请求不在这个。Cookie解ID这个cookie的话,我就会创建一个新的对象,因为我找不着哪个是跟我对应的。然后呢,创建一个新的,我把这个ID号呢,以cookie的方式传给你,下一次就会自动的把这个session ID带回来,于是找到我对应的session对象,这个就是。
13:06
三神的一个底层原理,好了,回来我们看它吧。看保存set ID的方式有几种哈,最常用的是采用cookie的方式。这样在交互过程中,浏览器可以自动的按照规则把这个标识发送给服务器,还有一种方式叫UR重写,这个的话呢,是在禁用cookie的情况下,我们保证也能够找到指定的三对象,这个我们在后边讲。看seven cookie。Session通过session ID来区分不同的客户,Session是以cookie或URL重写为基础的,默认使用cookie实现,系统会创建一个名为解30ID的cookie,称之为session cookie,以区别于我们通常情况的cookie。那session cookie用于。
14:03
呃,这个存储在浏览器的内存中,而并不是写到硬盘上,我们可以给它持久化吧,我们可以把它持久化,持久化的好处是什么呀?我即便是关了浏览器,我把那个浏览器再开的话,我还是能够找到我那个赛对象。我再说一遍,什么意思呢?正常情况下的话呢,我这个浏览器一关,你看我复制,注意是78984开个新的。坏了还是发这为啥呀,这是因为我这个eclips这个浏浏览器的这个特殊性哈,我们采用。Come。50B1。关掉开心的。
15:00
哎。6501,那好了,那我怎么办呢?我说我想关掉,我还找到这个650E,有可能吗。怎么样,有可能啊,只要我下一次请求把那个cookie带回来是不是就可以,所以说我怎么办呢?我可以把那个cookie给他持久化看看吧。开发者工具。Network刷新。看请求。名叫他哈,叫解3ID。CTRLC,于是看一下这个原理吧。就用这个吧。创建一个cookie等于new。
16:02
Cookie。明直。3.getid,然后呢。cookie.set max age,我写成20秒,然后传回去,response.add cookie cookie写完保存。可以了,然后我们再看。注意,我刷新一次。这个是多少啊,6501复制。20秒哈,关掉。是不是还是那个六五零一样。哎,这就是我们使用持久化的cookie,即便是我关掉浏览器之后的话,我还可以找到那个三身对象,咋整呢?点它。工具。
17:01
开发者工具。哦。这个不算啊。复制。我得刷一下20秒。咋的了?是不是创建了一个新的赛了,分了一个新的赛那。我复制一下吧,5F f2。把这个打开。好5FX2看这。你看我是不是会一上来我就把这个cookie传回去了,所以说我就会找到那个session对象了,就是持久化三星cookie的效果就是这样。叫持久化session cookie,就是说因为我们知道这个原理是吧,所以说我们可以干什么呀,所以说我们可以把这个session cookie持久化,就是给你存到硬盘上,然后你下一次再开的时候,我把这个3ID带过来,只要服务器端那个session对象还在的话,我就可以找到你。
18:17
那更多的时候是什么呀,更多的时候啊,是我不带他,不带他是个什么情况。不带它是这个情况,浏览器一关,我要是再请求的话,我是不是什么也不带了,但是呢,这个时候这个session吧还在,但是你这个时候因为你没带那个ID,你找不到这个session对象,所以说。这个塞进对象的话呢,等着变为垃圾被回收。就像是一个我们经常看看电视是吧,在在这个老家里边这个一个情哥哥和一个好妹妹是吧,在一起。谈朋友谈的非常好,然后有一天的话,那就各个去去去外边去发展了是吧,走了,然后妹妹给他送到小村口,然后一番这个惜别是吧,走了,然后哥哥出去当大老板了是吧,妹妹还在家傻等着呢,这个时候那个ID已经没了。
19:15
你等着也没用。就这个意思。
我来说两句