cookie和session(一)
cookie
cookie出现的原因:第一次和服务器连接后并且登录成功后,第二次请求服务器的时候不知道请求的是那个用户,为了解决这个问题,可以使用cookie。第一次登录服务器的时候返回cookie数据给浏览器,然后将数据保存到浏览器本地。当该用户第二次请求的时候,就会自动把上次请求的cookie数据连接上,浏览器就通过这些数据判断用户是谁。当服务器返回了cookie给浏览器,当浏览器下次再请求的时候,就会自动把cookie返回给浏览器。
session
session功能与cookie类似,但是cookie携带有用户的用户名和密码信息,保存在浏览器会存在安全问题。session是保存在服务器上的,保证了安全问题,但是又增加了内存的问题。
session和cookie的结合使用可以解决单独使用cookie的安全性问题。通过把用户信息经过加密之后放到session中,并产生一个唯一的session_id。通过将session_id返回给浏览器而不是直接的敏感数据。还可以通过设置过期时间,对用户信息进一步保证信息安全。
flask中的session机制
把敏感数据经过加密之后放到session,然后把cookie存放在cookie中,下次请求的时候,就从浏览器发送过来的cookie中读取session,然后再把session中的数据解密之后,才能获取用户数据。优点是可以节省服务器的开销,因为把所有的信息都存在浏览器。虽然是保存在浏览器,但是session中的所有信息都是经过加密的,可以保证安全性问题。