Python自动化 谈谈 cookies

xiaojian · 2018年11月16日 · 最后由 yuyangjun 回复于 2020年03月08日 · 524 次阅读
本帖已被设为精华帖!

最近在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,还会存储与本次会话相关的一些其它信息。

共收到 11 条回复
huahua 将本帖设为了精华贴 11月23日 10:28

我们要消灭0回复!!! 点赞!形象贴切!

看完了。并点了个赞

顺便讲讲session😀

Edsion 回复

😝 韬哥有篇关于session的,请暂时移步:https://www.cnblogs.com/nickjiang/p/9148136.html。 后续会更到社区里。

xiaojian 回复

柠檬班的大佬,传点法力给我!😀

生活因你而火热

小简姑娘不但漂亮,还很有才

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册