cookie简述

当一个系统有多用户时,或是淘宝这些多用户的,登录之后,发一个请求时,我们怎么知道是哪个用户发的,加入购物车时,怎么知道是哪个用户加的?所以就会引入cookie。把用户登录后的一些信息放进cookie里面,这个信息能唯一识别是哪个用户的。然后每次客户端发请求时都会带上这个cookie的,然后我们判断cookie里的信息就会知道是哪个用户了。

cookie是请求头里面的一个属性吧,能存数据的。下面就是我们请求头里面的cookie

afc_session_id和afc_session_key是我们自己设置的,用来识别一些信息,比如用户啥的。

比如打开登录界面,请求验证码的时候,我们就在请求验证码response那里设置cookie的afc_session_id的值,然后也在redis里保存认证码的值,key是afc_session_id的值,values是验证码的值。当你登录时会请求登录接口也会附上cookie的(浏览器请求时都会附上cookie),我们会从cookie里拿到afc_session_id的值,然后根据该值去拿验证码。这样做可以准确得拿到该验证码了。

然后还有就是,当我们登录之后,我们会在cookie里会设置afc_session_key的值,该值是识别用户的,可以是跟userid有关联的,反正可以根据该值找到对应的user。然后每次请求,会根据cookie来判断是哪个用户了。

如果我们服务器设置了cookie发给客户端,客户端会保存这个cookie,然后之后的每个请求都会附上这个cookie。不改变值的话,值是不会变的。所以我们登陆到退出中间afc_session_id不会变。登陆后和退出中间afc_session_key不会变。

有说一次会话,服务器会分配个sessionid给我们,判别用户,可是当我们请求另一个服务器是,该sessionid会变,所以我们自己设置吧。上面的JSESSIONID就是吧。同一个服务不变,不同服务会变了。

然后session也和cookie一样的原理吧。cookie是在客户端,session是在服务端。