Django笔记(cookie与session的运用及区别)

 

目录

 

怎么使用

cookie的缺点:数据不安全,暴露在浏览器端

session

怎样使用

cookie与session的区别


cookie

浏览器端的会话技术

怎么使用

设置cookie

response = HttpResponse()
# 设置cookies
#response.set_cookie(key,value[,max_age=None,exprise=None)]
# max_age=整数,指定cookie过期时间 设置为0 浏览器关闭失效  单位是秒
# exprise=整数,指定过期时间 还支持是一个datetime或timedelta,可以指定一个具体日期时间
#(expires=timedelta(days=10) 10天后过期) 设置为None永不过期
response.set_cookie('u_name', name, max_age=5)

读取cookie

# 拿cookies里面的值,返回给页面
u_name = req.COOKIES.get("u_name")

删除cookie:delete_cookie

def my_logout(req):
    # 重定向到首页
    response = HttpResponseRedirect("/dj04app/my_index")
    # 删除u_name 对于的cookies
    response.delete_cookie('u_name')
    return response

cookie的缺点:数据不安全,暴露在浏览器端

 

session

服务器端的会话技术,基于cookie,把数据保存到服务端

怎样使用

设置session

# 设置session
#request.session['你的key'] = 你的value
req.session["ll"] = name

读取session

# 读取session ,你的key
my_session_data = req.session.get('ll')

session数据存在服务端

用mysql可以看到

Django笔记(cookie与session的运用及区别)_第1张图片

里面的数据用base64位加密,在网上可以找到解密网站

cookie与session的区别

1.cookie和session都是会话技术,cookie是运行在客户端,session是运行在服务器端。

2.cookie由大小限制以及浏览器在存cookie的个数也是有限的,session是没有大小限制和服务器的内存大小有关。

3.cookie由安全隐患,通过拦截或本地找到cookie后可以进行攻击。

4.session是保存子服务器端上,存在一段时间才会消失,如果session过多会增加服务器的压力。

 

你可能感兴趣的:(Django)