首页 > 技术文章 > cookie和session

hy-74 2019-12-20 20:23 原文

cookie 的作用以及优劣势

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续用。

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

 

cookie和session的区别

cookie数据存放在客户的浏览器上,session数据放在服务器上。 

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
cookie 和session 的联系:
session是通过cookie来工作的,可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

#设置我们的cookies
def set_cookies(request):
    #获取到postman发来的信息
    #request是我们http请求的信息
    name = request.GET.get('name')
    #GET获取http请求数据的方法
    #设置cookies
    coo = HttpResponse('我是设cookies的操作')
    coo.set_cookie('cooke_name',name)
    #前面的name是我们的django里定义的变量名。后面的name使我们request请求里的key值
    return coo
#获取我们的cookies
def get_cookies(request):
    doing = request.GET.get('doing')
    name = request.COOKIES.get('cooke_name')
    return HttpResponse(name+doing)

#设置session
def set_s(request):
    # 获取到postman发来的信息
    # request是我们http请求的信息
    name = request.GET.get('name')
    # GET获取http请求数据的方法
    request.session['session_name'] = name
    return HttpResponse('设置session的过程')
#获取session
def get_s(request):
    doing = request.GET.get('doing')
    name = request.session.get('session_name')
    return HttpResponse(name+doing)
cookis和session

 

推荐阅读