客户端是如何判断是否带jsessionid去服务端呢

前提条件:通常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                                   否

猜你喜欢

转载自blog.51cto.com/jiaxiaoxu/2371541