网站开发之cookie和session
什么是cookie?
当我们要访问一个需要登陆的网站时,必须输入用户名和密码,登录之后才可以可浏览内容,当用户关闭浏览器后再一次登陆时,智能的选择是不需要用户再次登录即可直接浏览,而cookie就是为解决这类方法而生的。
通俗来讲,cookie就是为了解决浏览器重复登录得情况得。有了cookie,用户就不需要重复得输入来访问。cookie是存放在浏览器中得附带用户信息得一种格式。
什么是session?
session也是用来存储用户信息的,作用与cookie基本类似,与cookie不同的是cookie是存储在用户电脑的浏览器中的,而session是存储在服务器中的。存储在服务器中会更加安全,同时也会占用服务器的一些资源。
*当前市场上一般将cookie和session合起来使用,一般有两种方式:
1.存储在服务器中,通过cookie存储一个sessionid,具体的数据保存在session中,如果用户已经登陆,服务器会在cookie中存储一个sessionid,下次用户再次请求的时候就会把sessionid携带上来,服务器根据sessionid判断是否是同一个用户。这种被称为server side session
2.将session数据加密,存储在cookie中,这种叫做client side session。flask采用的是第二种方式。
flask的session机制:
flask的session机制有略微的不同,不同之处在于:
在flask中是将用户登录的session信息进行加密然后存放在cookie中,返回给浏览器,浏览器再次请求时会将cookie提交给服务器,服务器根据cookie进行解密,得到用户的信息。这样可以节省服务器资源。
在flask中操作cookie数据:
key:设置cookie的key value:key相对应的value max_age:设置cookie的过期时间 domain:当前cookie在那个域名中有效 path:当前cookie在那个路径中有效