Cookie与Session机制,以及scrapy中cookiejar的理解

本文介绍了HTTP协议的基础概念及其无状态特性,并通过具体的例子解释了Cookies和Session机制的工作原理,探讨了它们之间的区别与联系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Http协议
    http是一种无状态协议。先说什么是协议,说白了就是通讯过程中的一种规范,要求。那什么是无状态的呢?就是我们在向服务器请求一个页面的过程中,并不是一个持久性的连接,而是客户端发送一个请求,比方说,我打开腾讯网,然后服务器端返回给我一个http响应。这是一次http过程。
    但是举个烂便网络的例子,比方说我们要购物,网页需要记录购物信息,单纯的http请求和响应是不足以完成这个功能,因为它并不是一次持久性连接。所以有了Cookie和Session
  2. Cookies机制
    最开始对cookies的理解不够深刻,但是我想到了初中的时候去学习跆拳道,我们道馆是这样,报名后会发给你一张记次卡,注意,是最原始的记次卡,比方说我报名半年三十次课程,就在卡的背后画一个3×10的表格,然后每次上课需要带着卡,然后课后,教练会在卡上打上钩。
    把这个运用到对cookies的理解上就是我打开一个页面的时候,服务器会给我一个卡片,这个卡片上面有着我的信息,以及我的记录。这样我才允许你继续访问我这里。
    cookie描述过程

    但是这样会有一个问题,比方说啊,我交了钱,办了卡,但是数据在我这里,增加了不安全性,我完全可以换一张卡去增加课程次数,或者别人用我的卡去上课(当然这在现实当中不太可能,毕竟教练眼睛没问题),于是有了session机制

  3. Session机制
    Session的英文意思是会话,然后也举一个例子,我上大学的时候,有钱了,办了张理发卡,这个理发卡200元一张,然后20块钱理发一次,当然还有不同价位的。不过这个卡的品质要比跆拳道的记次卡要质量好很多,是一张金卡,卡上除了一个id,就是店的logo,所以每一次理发之后,我都要到店里面去查看我的消费记录。
    同样可以类比到http请求过程,但毕竟坑爹的是我在全网都没有找到一个确切的定义来定义Session,通俗理解就是会话,什么是会话呢,我的理解就是你在关闭浏览器(这个部分的定义不知道是否准确)之前的记录。而这个会话,会保存在服务器端,就像是我的理发信息保存在店里面一样。
    下面得说说session和cookies的联系
  4. Cookie与Session的区别与联系
    session
    咋联系,理发店给了我一张卡,卡上的id能够从店里面的理发系统里找到我的信息。其实这就是cookie-session机制的原理,如图所示,在我第一次Http请求过程后,服务器不仅返回了HTTP Response和设置了cookie,还在我的cookie中加入了一个sessionid,这是什么,这就是id号啊,当我再去理发的时候,即我再去请求的时候,我带着这个id,可以优惠打折,体验服务。
    传sessionid的方法:
    1. 给cookie头部
    2. 在cookie禁用的情况下,可以给url,信息暴露在外面不安全
    3. 3.
  5. scrapy中cookiejar的使用
    未完待续
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值