- Http协议
http是一种无状态协议。先说什么是协议,说白了就是通讯过程中的一种规范,要求。那什么是无状态的呢?就是我们在向服务器请求一个页面的过程中,并不是一个持久性的连接,而是客户端发送一个请求,比方说,我打开腾讯网,然后服务器端返回给我一个http响应。这是一次http过程。
但是举个烂便网络的例子,比方说我们要购物,网页需要记录购物信息,单纯的http请求和响应是不足以完成这个功能,因为它并不是一次持久性连接。所以有了Cookie和Session
-
Cookies机制
最开始对cookies的理解不够深刻,但是我想到了初中的时候去学习跆拳道,我们道馆是这样,报名后会发给你一张记次卡,注意,是最原始的记次卡,比方说我报名半年三十次课程,就在卡的背后画一个3×10的表格,然后每次上课需要带着卡,然后课后,教练会在卡上打上钩。
把这个运用到对cookies的理解上就是我打开一个页面的时候,服务器会给我一个卡片,这个卡片上面有着我的信息,以及我的记录。这样我才允许你继续访问我这里。
但是这样会有一个问题,比方说啊,我交了钱,办了卡,但是数据在我这里,增加了不安全性,我完全可以换一张卡去增加课程次数,或者别人用我的卡去上课(当然这在现实当中不太可能,毕竟教练眼睛没问题),于是有了session机制
- Session机制
Session的英文意思是会话,然后也举一个例子,我上大学的时候,有钱了,办了张理发卡,这个理发卡200元一张,然后20块钱理发一次,当然还有不同价位的。不过这个卡的品质要比跆拳道的记次卡要质量好很多,是一张金卡,卡上除了一个id,就是店的logo,所以每一次理发之后,我都要到店里面去查看我的消费记录。
同样可以类比到http请求过程,但毕竟坑爹的是我在全网都没有找到一个确切的定义来定义Session,通俗理解就是会话,什么是会话呢,我的理解就是你在关闭浏览器(这个部分的定义不知道是否准确)之前的记录。而这个会话,会保存在服务器端,就像是我的理发信息保存在店里面一样。
下面得说说session和cookies的联系
- Cookie与Session的区别与联系
咋联系,理发店给了我一张卡,卡上的id能够从店里面的理发系统里找到我的信息。其实这就是cookie-session机制的原理,如图所示,在我第一次Http请求过程后,服务器不仅返回了HTTP Response和设置了cookie,还在我的cookie中加入了一个sessionid,这是什么,这就是id号啊,当我再去理发的时候,即我再去请求的时候,我带着这个id,可以优惠打折,体验服务。
传sessionid的方法:
- 给cookie头部
- 在cookie禁用的情况下,可以给url,信息暴露在外面不安全
- 3.
- scrapy中cookiejar的使用
未完待续
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)