简述cookie/session记住登录状态机制原理。
cookie
cookie是客户端的状态保存机制
存储在本地浏览器,且存储数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。
当浏览器访问网站后,这些网站将一组数据存放在客户端,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动携带给服务器,服务器通过浏览器携带的数据就能识别当前用户。
session
session是服务端的状态保存机制
存储在服务器,更安全,不被窃取
Session是存放在服务器端的类似于HashTable结构(包括key,value)来存放用户数据,当浏览器第一次发送请求时,服务器自动生成了一个HashTable和一个Session ID用来唯一标识这个HashTable。并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的HashTable。
http请求时无状态,无连接的
cookie原理:
session机制: