cookie和session在django个flask项目中经常用到,一直感觉对这两个概念有点模糊,经过查资料学习后,加深了对其的理解,并做了一些自我总结。
cookie
cookie的产生是因为HTTP的请求是无状态的。即使和服务器已经建立了连接并且成功登陆,下一次用户再发出相同的请求时,服务器仍然无法判断是否是同一用户,这时就产生了cookie。当客户端向服务器端发送请求,服务器将数据(cookie)返回给浏览器,浏览器就将这些cookie存储在本地,当下一次请求时,就将这个携带信息的cookie返回给服务器,服务器就能判断是同一用户请求。
cookie和session的区别
cookie和session的区别是,cookie存储在本地,session存储在服务器,存储在服务器的数据更安全一些。当对数据安全性要求更高的时候,我们使用session。然后,由于session存储在服务器,会耗费服务器的内存。
session
当客户端向服务器发送请求,服务器不会直接将信息返回给浏览器,而是返回一个sessionID。服务器将sessionID和信息做一个映射存储在session中。
同时,session可以设置超时时间,这样也保证了信息的安全性。