flask的session使用

session:

session的基本概念:

                     1.session 和 cookie的作用有点类似,都是为了存储用户的信息,都是为了解决http协议无状态的特点。不同的是,cookie信息是存储在客户端,而session信息是存储在服务端。

                      2.不同的语言,不同的框架,有不同的实现,虽然底层的实现完全不一样,但目的都是让服务器能方便的存储数据产生的。

                         session的出现,是为了解决cookie存储数据不安全的问题的

2.session的跟踪机制跟cookie有关:

                      1.flask框架中,session的跟踪机制和cookie有关,也就意味着脱离了cookie,session就不好使了

                      2.因为session跟踪机制和cookie有关,所以,要分服务端和客户端分别起到什么功能来理解。

3.session的工作工程:

                     浏览器向服务器发送登录请求(post),携带账号和密码

                     登录成功,服务器记录登录的状态,req.session.user = user; 服务器记录这些信息

                     服务器返回的响应头中携带 服务器生成的 sessionid(cookie中),身份标示

                     浏览器再次访问服务器的时候会通过cookie携带sessionid

                     服务器获取浏览器发送的sessionid后,在服务器查找sessionid,如果找不到,未登录

                     如果找到 sessionid,根据 sessionid 查找对应的对象,登录成功


flask操作session:
                     1.设置session:
                        通过flask.session 就可以操作session了,操作session就跟操作字典一样的。()
                        session["uanme"] = "zhangsan"
                     2.获取session:
                        session.get (key)
                     3.删除session中的值
                         也是类似字典,有两种方式删除session中的值
                         *session.pop(key)
                         *session.clear(),删除session中所有的值
                     4.设置session的有效期
                          *如果没有设置session的有效期,那么默认就是浏览器关闭后过期
                          *如果设置session.permanent=True,那么默认在31天后过期
                          *如果不在31天后过期,按如下步骤操作:
                           1.session.permanent=True
                           2.可以设置app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=2 )在两个小时后过期
                        
     
 示例:
                                                    

                                  

   

posted @ 2019-12-06 17:26  微风轻哨  阅读(564)  评论(0编辑  收藏  举报