http本身是不保存状态的,啥意思?就是客户端到服务器的连接不是长时间保持的,一个连接断开后,下一个请求会建立新的tcp连接,服务器不会知道我们之前连接过,说的简单一点就是,你登录了但是服务器不知道。
所以推出了session和cookie机制

cookieimage.png

cookie是记录在浏览器端的一个字符串(键值对形式)在浏览器请求头中的一个部分,在HTTP请求协议中的请求头,被浏览器做了特殊的处理
检测到我们访问localhost:8080时 , 会帮助我们把对应的cookie带过去,浏览器会将我们前面的网页ip+端口号cookie信息建立个绑定信息, 只要访问localhost:8080 就会把我们的cookie带上, 如果访问了baidu.com , 则换成baidu.com的专有cookie
Cookie是谁往这里添加呢?
实际上是服务端(localhost:8080)要求浏览器记录的, 在浏览器里面一但访问了
cookie方法 后台就会要求前端在header当中记录一个值(下面我们设定的是时间戳),将来只要访问网页页面都会访问这个值
一但有个响应cookie就代表服务器后台要求浏览器必须把这个cookie值记录到浏览器中image.pngimage.png
cookie.setMaxAge(int) //如果不设置浏览器关闭 cookie记录就会消失
//如果设置就会有生命周期 //会话仅限当前浏览器开关image.png
一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成

session

session是保存在服务器端的一个对象,比如map。它们俩互相配合让服务器有了能识别客户端一些状态的能力,意思就是服务就能知道这个客户端有没有登录等。cookie就相当于通行证,session就是门房,进去时需要从门房识别一个身份。