zoukankan      html  css  js  c++  java
  • Cookie和Session

    Cookie

    什么是Cookie?

      Cookie具体指的是一小段信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。

     

    特性

    • 服务器让浏览器进行设置
    • 下次访问时自动携带对应的Cookie

     

    设置Cookie

    1 #通过response对象
    2 response.set_cookie('is_login','1') #其本质是加了一个相应头 Set-Cookie : is_login=1;Path=/
    3 response.set_signed_cookie(key,value,salt='加密盐')
    4 #直接指定相应头
    5 response['Set-Cookie'] = 'is_login=1;path=/'

    获取Cookie

    #获取Cookie
    request.COOKIES[key]
    request.COOKIES.get(key)
    request.get_signed_cookie(key,salt='加密盐',default='默认值')

    删除Cookie

    1 response.delete_cookie(key)
    View Code

    Session

    什么是Session

      Session是保存在服务器上的一组组键值对,其存在必须依赖于Cookie

    为什么要有Session

    • Cookie保存在浏览器上,不安全
    • 浏览器对Cookie的大小有一定的限制

    设置Session

     1 request.session[key] = value 

    获取Session

    1 request.session[key]
    2 request.session.get[key]

    删除Session

    1 del request.session[key]
    2 request.session.pop(key)
    3 request.session.delete() #删除所有的session数据,不删除对应的cookie
    4 request.session.flush()#删除所有的session数据,同时删除对应的cookie

    Session的其它方法

    1 request.session.set_expiry(value) #设置超时时间
    2 request.session.clear_expired()#清除已经失效的session数据

    Session的相关全局配置

    1 from django.conf import global_settings
    2 SESSION_COOKIE_NAME = 'sessionid' #Cookie的名字
    3 SESSION_COOKIE_AGE = 60*60*24*7*2#超时时间 默认为两周
    4 SESSION_SAVE_EVERY_REQEST=True#每次访问都保存Session数据
    5 SESSION_EXPIRE_AT_BROWSER_CLOSE=True#关闭浏览器 Cookie失效
    6 SESSION_ENGINE='django.contrib.sessions.backends.db'#引擎 默认保存在数据库 还可以保存在 缓存 缓存+数据库 文件 加密Cookie
  • 相关阅读:
    SQL Server 2005 出现“此数据库没有有效所有者”错误的解决方法
    使用swfupload出现SecurityError Error #2156问题
    读取Excel表
    POJ 1953 (DP)
    POJ 1050 (DP)
    POJ 1276 (DP)
    POJ 1579 (DP)
    HDOJ 4223 (DP)
    POJ 1080 (DP)
    POJ 1458 (DP)
  • 原文地址:https://www.cnblogs.com/muchengQ/p/11505914.html
Copyright © 2011-2022 走看看