1>什么是Cookie

    其实Cookie是key-value结构,类似于一个python中的字典。随着服务器端的响应发送给客户端浏览器。

    然后客户端浏览器会把Cookie保存起来,并标注Cookie来源,当下一次再访问同一服务器时把Cookie再

    发送给服务器,这样服务器就可以识别客户端了。

    如下,客户端(浏览器)第一次访问服务端的时候,是不带cookie值的,或者cookie是一个空字典,当请求

   成功,服务端会返回一个cookie(cookie键值自定义)给浏览器,浏览器会保存这个cookie,当下次再访问该

   服务端的时候,会把cookie放到请求里面一并发送给服务端,这样,服务端识别出这个cookie,也就是识别客

   户端了,很明显的一个实际场景就是:你首次登录了京东商场输入了账号密码,你再访问京东的商品或者其他

   页面时,就不用再次登陆了。

    Django学习之Cookie

   所以,Cookie本质上就是 一个浏览器针对一个服务端存储的键值对

   注意,都是一对一,A浏览器对应B服务端存储的cookie不能在访问C服务端时使用,D浏览器访问B服务端的

   时候也不能发送A浏览器的cookie。

2>设置cookie

   Django中设置cookie的语法,set_cookie(key:value)

   获取cookie的语法:request.COOKIES

   Django学习之Cookie

   实现效果

   Django学习之Cookie

  Django学习之Cookie

Django学习之Cookie

  Django学习之Cookie

3>Cookie中的其他参数

       set_cookie(    key,                 键
              value='',            值
              max_age=None,       超长时间,cookie需要延续的时间(以秒为单位)
   如果参数是\ None`` ,这个cookie会延续到浏览器关闭为止。

              expires=None,        超长时间,expires默认None ,cookie失效的实际日期/时间。 
            path='/',           Cookie生效的路径,浏览器只会把cookie回传给带有该路径的页面,

         这样可以避免将cookie传给站点中的其他的应用。
                               / 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问 
             )

   上面摘了一部分参数,还有一些暂时没涉及到的没拿过来,key,value对应键、值

  max_age和expires都是设置cookie失效时间的,不同之处在于max_age的时间以秒为单位,就从cookie下发,多少

  秒之后就会失效,如 max_age=15,那么登陆成功的15之内可以访问path的一些作用路径,15之后就又要重新登录了;

 而expires是指定失效时间,具体的以 “年月日,时分秒”为准,到时间就失效了。

 目前好像IE不支持max_age字段,所以,我们就用expires就好了。

  path字段,限制cookie的作用范围,就是访问那些路径可以使用这个cookie,默认是根路径,就是该server的所有路径,

  我们看下这个path的用法,

  如上例子,之前我们在chuze页面登陆成功,访问zhuye和qita页面的时候都带了cookie,不用再次登陆,我们指定cookie的

  path为/zhuye,看下访问qita页面时候的效果,如下。

  Django学习之Cookie

  Django学习之Cookie

Django学习之Cookie

4>利用cookie显示上次的访问时间

   思路:登陆成功,记录下当前时间,并加入cookie返回给客户端,客户端再次访问时,取出时间并展示,如下

Django学习之Cookie

Django学习之Cookie

Django学习之Cookie

相关文章:

  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
猜你喜欢
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2021-10-11
  • 2021-07-26
  • 2022-12-23
  • 2021-04-28
相关资源
相似解决方案