我先解释一下Cookie,它是客户端浏览器用来保存服务端数据的一种机制,当我们通过浏览器去进行网页访问的时候,服务器可以把一些状态数据以key-value的形式写入到Cookie里面,存储到客户端浏览器。下一次这个浏览器再访问服务器的时候,就可以携带这些状态数据,一起发送到服务器端,而服务端可以根据Cookie里的内容去识别使用者。
而Session属于服务器端的一个容器对象,默认情况下,针对每一个浏览器的请求,servlet容器都会分配一个session对象,用来存储当前会话产生的一些状态数据,我们都知道,http协议本身是一个无状态协议,就是说服务器端并不知道客户端发过来的多次请求是否属于同一个用户,结合服务器端的session机制和客户端的cookie机制,可以实现一个有状态的http协议。