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

    Session

    保存在服务器端
    依赖于cookie

    第一次请求 浏览器cookie中没有任何信息
    当我们的服务器接受到这个请求之后 进行验证 验证没有问题可以设置session信息
    在设置session信息的同时(session信息保存在服务器端)服务器会在响应头中设置一个 sessionid 信息给浏览器 浏览器会把session这个cookie信息保存起来

    第二次请求 浏览器携带sessionid信息
    当服务器接受到这个请求之后 会获取到sessionid信息 然后进行验证
    验证成功 则可以获取 session信息(session信息保存在服务器端)

    简言之 服务器在浏览器初次访问时给与浏览器一个叫sessionid的cookie,浏览器每次依据这个访问服务器 服务器由这个id找到服务器上的关于该浏览器的访问数据

    Cookie

    cookie信息保存在浏览器
    cookie是基于域名的

    1 第一次浏览器请求头里没有cookie信息
    2 服务器发现你没有cookie信息 为了保持浏览的连贯性
    3 就给你设置了一个cookie信息 响应头里有set_cookie
    4 之后浏览器浏览就会在请求头里携带cookie信息

    可以设置过期时间
    设置Cookie

    可以通过HttpResponse对象中的set_cookie方法来设置cookie。

    HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期)
    max_age单位为秒,默认为None 。如果是临时cookie,可将max_age设置为None。
    示例:

    def cookie(request):
    response = HttpResponse('ok')
    response.set_cookie('itcast1', 'python1') # 临时cookie
    response.set_cookie('itcast2', 'python2', max_age=3600) # 有效期一小时
    return response
    2 读取Cookie

    可以通过HttpResponse对象的COOKIES属性来读取本次请求携带的cookie值。request.COOKIES为字典类型。

    def cookie(request):
    cookie1 = request.COOKIES.get('itcast1')
    print(cookie1)
    return HttpResponse('OK')
    3 删除Cookie

    可以通过HttpResponse对象中的delete_cookie方法来删除。

    response.delete_cookie('itcast2')

  • 相关阅读:
    控制台输出到txt
    textarea 自动到右边就换行
    论equals与==不同的重要性
    一年多后开通博客了
    java链接JDBC中的?问题
    Silverlight之打印
    软件测试理论
    Objc基础学习记录2
    Objc基础学习记录3
    window 下cygwin开启了后来又关闭了
  • 原文地址:https://www.cnblogs.com/xujin247/p/11740384.html
Copyright © 2011-2022 走看看