什么是cookie
cookie 是存储在用户浏览器中的一段不超过 4 KB 的字符串。它由一个名称(Name)、一个值(Value)和其它几个用 于控制 Cookie 有效期、安全性、使用范围的可选属性组成。 不同域名下的 Cookie 各自独立,每当客户端发起请求时,会自动把当前域名下所有未过期的 Cookie 一同发送到服务器。(用于前端)
cookie的工作原理
Web应用程序是使用HTTP协议传输数据的,HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话,由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份 。
当客户端浏览器每次请求服务器的时候,浏览器会自动将身份认证相关的 Cookie,通过请求头的形式发送给
服务器,服务器即可验明客户端的身份。
cookie 不具有安全性
身份认证的cookie是 保存在浏览器中的而且浏览器也提供了读写 Cookie 的 API,因此 Cookie 很容易被伪造
注意:千万不要使用 Cookie 存储重要且隐私的数据!比如用户的身份信息、密码等。
什么是Session
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。 (用于后端)
Session的工作原理
浏览器发送请求给服务器,成功后将信息存储在服务器中同时生成对应的cookie字符串,通过服务器响应将生成的cookie给浏览器,浏览器自动把cookie存储到当前域名下,当用户再次发起请求时,通过请求头自动把当前域名下可用的cookie发送给服务器,服务器根据请求头中携带的cookie从内存中查找对应的用户信息,认证成功后,响应给浏览器。C
Session 认证机制需要配合 Cookie 才能实现.
cookie与Session的区别
cookie数据保存在客户端(浏览器)来验证,Session数据是保存在服务器中生成对应的cookie字符串来验证
详解参考:https://www.cnblogs.com/l199616j/p/11195667.html