前提条件:通常session的生成是根据服务器端访问session才会生成session对象。(request.getsession());
1、服务器端如何确定一个客户端的?
客户端第一次访问服务器,服务器会生成一个session存储在服务器内存中,并返回sessionid给客户端(jsessionid)。客户端第二次访问服务器时会带上这个jessionid去访问服务器,服务器端拿到jsessionid然后去内存中匹配,如果匹配上说明有这个用户的session,说明来过,查看session中的业务信息,判断是否登录等等业务操作。
2、客户端是如何判断是否带jsessionid去服务端呢?
根据域名和path路径两个条件。当访问的域名小于cookie中的域名时,并且cookie中的path路径大于访问的路径时,说的话理解上可能有歧义:上例子:
假如cookie中存储的域名信息我:my.com path路径为/hello
地址 是否带jsessionid过去
http://my.com/hello 是
http://cn.my.com/hello/hi 是
http://cn.you.com/hello 否
http://my.com/hi 否
原文地址:https://blog.51cto.com/jiaxiaoxu/2371541
时间: 2024-10-15 16:51:29