当前位置: 首页 > news >正文

爬虫基础(三)Session和Cookie讲解

目录

一、前备知识点

(1)静态网页

(2)动态网页

(3)无状态HTTP

二、Session和Cookie

三、Session

四、Cookie

(1)维持过程

(2)结构


正式开始说 Session和Cookie之前,有些基础知识需要知道,我们先来看一下:

一、前备知识点

(1)静态网页

比如,我们写了一段html代码,然后保存为一个html文件

该文件所在主机,具有服务器

那么其他人就可以通过访问服务器,来打开这个html写的网页。

这就叫,静态网页

静态网页有一个很大的缺陷

比如,我们修改该网页时,只能再打开html代码,然后修改,很不灵活。

(2)动态网页

动态网页,则不同于此。

它用编程语言编写,可以动态解析URL,灵活呈现内容

除此之外,还有账号密码功能

就是这种账号密码功能,离不开Session和Cookie

(3)无状态HTTP

当我们进入部分网站,点击登陆

弹出账号密码界面,输入之后,可以自动返回界面

我们发现下一次我们再登陆时,不用再登陆而是自动保存

该的界面是原来我们网站的界面它没有消失

我们不要想当然的认为,这是正常的

正常来说,HTTP是无记忆的,

即,服务器只负责处理响应和请求,不负责保存历史

这,就叫无状态HTTP

而为了,保存HTTP的连接状态,让我们能够返回之前的界面,新技术出现了,即:Session和Cookie

二、Session和Cookie

Session放在服务器端,用来保存用户信息。

 Cookie放在客户端,即浏览器端,当用户注册后,会获得凭证,客户端再次访问网页时,服务器通过识别Cookie,判断是哪个用户在访问。

三、Session

Session,即会话

在web中,Session对象储存用户信息

这样,在用户跳转不同程序时,其不会丢失

四、Cookie

关于,Cookie我们知道它相当于凭证,网站为鉴别用户身份,存储用户身上的数据

(1)维持过程

客户第一次登陆网站

网站返回一个set-cookie字段给客户,用以标记客户

客户端浏览器自动保存cookie

当客户下一次登陆cookie时,将保存的cookie提交给网页

服务器根据cookie中信息查找对应session,判断用户身份

若有效则可以查看网页内容

(2)结构

以csdn网站为例:

依次点击:检查 - application - storage - cookies 

其中:

Name(名称)Cookie 的名称,是一个唯一的标识符。

 Value(值)与 Cookie 名称关联的值。

 Domain(域名)Cookie 所属的域名。

 Path(路径):指定 Cookie 的有效路径。只有在该路径及其子路径下,Cookie 才会被发送到服务器。

 Expires / Max-Age(过期时间)

  • Expires:指定 Cookie 的过期时间(具体日期和时间)。

  • Max-Age:指定 Cookie 的有效期(以秒为单位)。

  • 注意:如果未设置过期时间,Cookie 将成为会话 Cookie,在浏览器关闭时自动删除。

Size(大小):Cookie 的大小(以字节为单位)。

HttpOnly:如果启用,JavaScript 无法通过 document.cookie 访问该 Cookie,只能由服务器读取。

Secure:如果启用,Cookie 只能通过 HTTPS 协议传输,确保安全性。

SameSite:控制 Cookie 是否在跨站请求中发送,用于防止跨站请求伪造(CSRF)攻击。

可选值:Strict:仅在同站点请求中发送。Lax:在导航到目标站点时发送(例如点击链接)。None:允许跨站发送(需要与 Secure 一起使用)。

 Partitioned(分区):用于跨站场景下的 Cookie 分区,确保 Cookie 仅在特定上下文中使用。


本章简单介绍了Session和Cookie概念,对以后学习爬虫具有一定辅助作用。

相关文章:

爬虫基础(三)Session和Cookie讲解

目录 一、前备知识点 (1)静态网页 (2)动态网页 (3)无状态HTTP 二、Session和Cookie 三、Session 四、Cookie (1)维持过程 (2)结构 正式开始说 Sessi…...

【Super Tilemap Editor使用详解】(十三):快捷键指南(Keyboard Shortcuts)

在使用 Super Tilemap Editor 进行图块地图编辑时,键盘快捷键可以显著提高工作效率。本文将详细介绍常用的快捷键及其功能,帮助你更快地完成图块绘制、翻转、旋转以及工具切换等操作。 一、快捷键文件位置 所有键盘快捷键的定义可以在以下路径找到&…...

【Leetcode 每日一题】119. 杨辉三角 II

问题背景 给定一个非负索引 r o w I n d e x rowIndex rowIndex,返回「杨辉三角」的第 r o w I n d e x rowIndex rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 数据约束 0 ≤ r o w I n d e x ≤ 33 0 \le rowIndex \le 33 …...

简单看看会议系统2(时延分析)(TODO)

(TODO) eBPF (extended Berkeley Packet Filter) 可以用来跟踪和分析树莓派 5 或其他 Linux 系统中的各种活动,包括拍摄和数据传输过程的性能分析。eBPF 是一个强大的内核级工具,可以在不修改内核源码的情况下,动态地跟…...

Linux中 端口被占用如何解决

lsof命令查找 查找被占用端口 lsof -i :端口号 #示例 lsof -i :8080 lsof -i :3306 netstat命令查找 查找被占用端口 netstat -tuln | grep 端口号 #示例 netstat -tuln | grep 3306 netstat -tuln | grep 6379 ss命令查找 查找被占用端口 ss -tunlp | grep 端口号 #示例…...

OpenAI o3-mini全面解析:最新免费推理模型重磅发布

引言 2025年1月31日,OpenAI重磅发布全新推理模型o3-mini。这款模型作为OpenAI推理系列的最新突破,不仅在性能和性价比方面实现跨越式提升,更是首次全面开放免费使用。这一重大举措彰显了OpenAI在人工智能技术普及和成本优化领域的创新决心。…...

C++:虚函数与多态性习题2

题目内容: 编写程序,声明抽象基类Shape,由它派生出3个派生类:Circle、Rectangle、Triangle,用虚函数分别计算图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。 …...

利用metaGPT多智能体框架实现智能体-1

1.metaGPT简介 MetaGPT 是一个基于大语言模型(如 GPT-4)的多智能体协作框架,旨在通过模拟人类团队的工作模式,让多个 AI 智能体分工合作,共同完成复杂的任务。它通过赋予不同智能体特定的角色(如产品经理、…...

Kubernetes组成及常用命令

Pods(k8s最小操作单元)ReplicaSet & Label(k8s副本集和标签)Deployments(声明式配置)Services(服务)k8s常用命令Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被…...

oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]

把多个查询结果上下合并, 即, 通过操作符将多个 SELECT 语句的结果集合并为一个结果集。虽然联合查询通常用于从多个表中检索数据,但它也可以用于从同一个表中检索不同的数据集。 联合查询: 交集,并集,差集 默认的排序规则通常是基于查询结果集中的列的自然顺序。…...

力扣第149场双周赛

文章目录 题目总览题目详解找到字符串中合法的相邻数字重新安排会议得到最多空余时间I3440.重新安排会议得到最多空余时间II 第149场双周赛 题目总览 找到字符串中合法的相邻数字 重新安排会议得到最多空余时间I 重新安排会议得到最多空余时间II 变成好标题的最少代价 题目…...

AI开发之 ——Anaconda 介绍

Anaconda 是什么? 在这里插入图片描述 一句话:Anaconda 是Python 库和环境便捷管理的平台。 Anaconda 是数据科学和 AI 领域的工具,通过集成常用库和工具,简化了环境管理和包安装,特别适合初学者和需要快速上手的开…...

Spring中ObjectProvider的妙用与实例解析

在Spring框架中,ObjectProvider是一个非常实用的接口,它可以帮助我们解决一些复杂的依赖注入问题,尤其是当我们需要注入生命周期较短的bean时。与传统的javax.inject.Provider相比,ObjectProvider在Spring 5.0中引入了许多新方法&…...

Easy系列PLC尺寸测量功能块(激光微距应用)

激光微距仪可以测量短距离内的产品尺寸,产品规格书的测量 精度可以到0.001mm。具体需要看不同的型号。 1、激光微距仪 2、尺寸测量应用 下面我们以测量高度为例子,设计一个高度测量功能块,同时给出测量数据和合格不合格指标。 3、高度测量功能块 4、复位完成信号 5、功能…...

当卷积神经网络遇上AI编译器:TVM自动调优深度解析

从铜线到指令:硬件如何"消化"卷积 在深度学习的世界里,卷积层就像人体中的毛细血管——数量庞大且至关重要。但鲜有人知,一个简单的3x3卷积在CPU上的执行路径,堪比北京地铁线路图般复杂。 卷积的数学本质 对于输入张…...

《网络编程基础之完成端口模型》

【完成端口模型导读】完成端口模型,算得上是真正的异步网络IO模型吧,相对于其它网络IO模型,操作系统通知我们的时候,要么就是连接已经帮我建立好,客户端套接字帮我们准备好;要么就是数据已经接收完成&#…...

Axure PR 9 旋转效果 设计交互

大家好,我是大明同学。 这期内容,我们将学习Axure中的旋转效果设计与交互技巧。 旋转 创建旋转效果所需的元件 1.打开一个新的 RP 文件并在画布上打开 Page 1。 2.在元件库中拖出一个按钮元件。 创建交互 创建按钮交互状态 1.选中按钮元件&#xf…...

完美还是完成?把握好度,辨证看待

完美还是完成? 如果说之前这个答案有争议,那么现在,答案毋庸置疑 ■为什么完美大于完成 ●时间成本: 做事不仅要考虑结果,还要考虑时间和精力,要说十年磨一剑的确质量更好,但是现实没有那么多…...

C++的类Class

文章目录 一、C的struct和C的类的区别二、关于OOP三、举例:一个商品类CGoods四、构造函数和析构函数1、定义一个顺序栈2、用构造和析构代替s.init(5);和s.release();3、在不同内存区域构造对象4、深拷贝和浅拷贝5、构造函数和深拷贝的简单应用6、构造函数的初始化列…...

C++中的内存管理

学完了类与对象,这节我们来了解一下内存里的那些事 文章目录 一、C/C中的内存分布 1. 常量区(代码段) (Text Segment) 2. 静态区(数据段) (Data Segment) 3. 堆区 (Heap) 4. 栈区 (Stack) 5. 内存映射区域 (Memory-map…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

LLM基础1_语言模型如何处理文本

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...