zoukankan      html  css  js  c++  java
  • Python自动化 谈谈 cookies

    最近在YouTube上面,看到了关于cookies的一个视频,觉得例子举得不错,于是就来献献丑(全英文,听着听着就懵逼了,这到底在说啥呢!!) 例子就是我们日常生活中非常熟悉的星巴克喝咖啡

    大意如下(简单粗暴的翻译,见谅):

    我喜欢咖啡,或者你也喜欢咖啡。 我平均每两个星期去一次星巴克:查看菜单、选择咖啡、拿到咖啡、付钱。

    如果我三天之后再去星巴克,店员不知道我是谁,也不知道我什么时候来过这里,点过什么咖啡。仍然是按照上面的流程喝咖啡。

    这种情况下,我和星巴克之间是无状态的。

    现在,如何设计一个系统,能够让星巴克和我之间有状态的?

    也就是星巴克能够记得我上一次来喝咖啡是什么什么时候?

    能让星巴克记住我最喜欢喝的10种咖啡饮品?

    那就是星巴克会员卡。这种会员卡就像我们的session和cookies.

    星巴克的会员卡有两个作用: 1、对于星巴克来说,这是你这个用户的身份ID。

    你进入星巴克店后,通过这张卡,星巴克知道你上一次来来店里的时间,知道你最喜欢喝的10种咖啡饮品,获取你所有在星巴克的消费记录。

    2、对于你来说,这是你随身带着,进入星巴克的身份识别。

    对于软件系统来说: web浏览器 就相当于 你

    web服务器 就相当于 星巴克


     

    **会员卡用来建立你和星巴克之间的联系,

    cookies用来建立web浏览器和web服务器之间的联系。**

    以上简要的解释了cookies.那么cookies从何而来?

    你在星巴克第一次建立会员关系时,你需要向星巴克提供你的相关信息,星巴克才能够生成一张ID卡给你。

    同样,第一次与web服务器建立关系时,也需要向服务器提供你的信息。在这里,就是用户的权限帐号和密码了。

    所以我们需要通用用户名和密码信息的提交,来获取服务器给我们提供的cookies.

    然后在后续的获取用户其它信息的请求中,带上cookies。(神马是http请求,请自行度娘)

    所以cookie是由服务器返回给客户端的

    我们在平时在登陆一个网站后,长时间不操作,再次去操作就会自动跳出重新登录的提示,为神马?

    因为。。cookie也是有有效期的

    长时间不与服务端交流交流,人家就忘了你啦。。所以,需要你重新提供身份证明。

    当然了,cookie不止存储了我们这里讲的身份id,还会存储与本次会话相关的一些其它信息。

  • 相关阅读:
    [USACO 5.5]Hidden Password
    [Codeforces 1016F]Road Projects
    再会,OI
    [TJOI 2018]智力竞赛
    [POI 2009]Lyz
    [NOI 2015]品酒大会
    [NOI 2017]蔬菜
    [NOI 2017]整数
    [NOI 2017]游戏
    [NOI 2017]蚯蚓排队
  • 原文地址:https://www.cnblogs.com/nmb123/p/12345223.html
Copyright © 2011-2022 走看看