cookie
cookie是存储在浏览器端的,当http第一次访问web服务器时,web服务器会生成一个jsessionid,生成后传送给到浏览器端。
浏览器会放到Cookie列表里,后续浏览器就会带着这个cookie访问服务端。
session
session是存储在服务端的,web服务器会保存一个map的集合,map的key就是jsessionid,map的value就是我们的session对象。
当用户第一次发送请求的时候,会在服务器创建一个session对象,且生成一个jsessionid,以sessionid为key,session对象为value。
然后到放入到map里,然后map在保存到集合。
同时这个jsessionid会返回给浏览器,浏览器会把它放入cookie里,后续浏览器访问服务器时就会携带cookie里的信息,包括jsessionid,
传入到服务器,服务器就会根据cookie里的jsessionid找到对应的session对象。这就是为什么不同的浏览器会找到自己在服务器对应的信息。
注意
如果服务器是集群搭建,则不适用cookie和session,因为有多台服务器,到时我在A服务器生成的session对象,
但负载到访问到B发现没找到这个session,这就会引起问题。当然,也是有解决方案的,只是不建议这么用。