Cookie 是一种保存在客户端本地的数据,可以附在HTTP请求头中发送给服务器,也可以由服务器通过HTTP响应头设置给客户端。

Cookie分为两种:

  1. 保存在本地文本文件里面(可长期保存);
  2. 保存在浏览器的内存里面(浏览器关闭,数据消失)。

Session 是一种保存在服务器内存中的数据。

JavaWeb中通过Session来辨识客户身份的方式:

  1. 客户端发起请求;
  2. 服务器接收到请求,生成一个SessionID,把这个SessionID记录在内存中,并通过 Cookie 的机制把SessionID发送给客户端;
  3. 客户端接受到Cookie之后把Cookie保存起来,之后每次请求的时候都会在请求报文中附带Cookie的信息;
  4. 服务器接受到客户端发送过来的Cookie信息,与现存的 Session 进行比对,判断客户端的身份。