Cookie

Cookie是客户端用来保存信息的一种手段,因为http是一种无状态的协议,Cookie也是对http协议的一种补充。Cookie的存取只能在相同域名或其子域名下进行。我们可以在页面中使用JavaScript来操作Cookie,也能在Java中操作Cookie。关于Cookie的使用,我们可以使用Cookie来保存用户的用户名和密码,使用户下次打开我们的网页时,不需要重复登陆。


Session

Session是服务器端用来保存信息的一种手段,每个用户都有一个Session,有时我们会在客户端使用Session来保存用户的一些相关信息。
当用户访问服务器的时候,如果其携带Sessionid服务端将会根据这个id来找到用户的Session,否则就会创建一个Session,在响应中返回给客户。

Cookie和Session的联系

Session经常会使用Cookie来保存Session的id,如果Cookie被浏览器禁止了,我们可以使用url重写的方式来返回Sessionid。


分布式下Session的共享

分布式环境下每次访问可能在不同的服务器中,可以将Session保存在Memcache或Redis等缓存服务器中,每次用户访问,我们根据SessionId到缓存服务器中取就行了。