不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)
欢迎浏览高耳机的博客
希望我们彼此都有更好的收获
感谢三连支持!
不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm=1001.2014.3001.5501
不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)_fiddler抓包怎么分析入参响应-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144024618?spm=1001.2014.3001.5501 🙉在(上)篇和(中)篇博客中,我们初步了解了HTTP协议的基本工作原理,包括它的工作过程,学习了如何使用Fiddler这个强大的抓包工具来捕捉和分析网络请求与响应。现在让我们继续深入,探讨与Cookie以及状态码等更为深入的内容。
目录
Cookie
历史渊源
浏览器的Cookie
Fiddler观察Cookie
Cookie登录过程
状态码 status code
抓取常见的状态码
结语
Cookie
历史渊源
🥝在互联网的早期,为了让普通用户能够理解和接受这种技术,使用一个日常生活中的词汇作为术语是一个明智的选择。就像饼干一样,计算机中的Cookie也是小的、简单的,但可以包含各种不同的“味道”(即数据),就像饼干可以根据个人口味不同而有不同的风味。
使用“Cookie”这样一个非技术性的词汇有助于降低技术的门槛,使得普通用户更容易接受和理解这种技术。这种正面的联想可能也是选择“Cookie”作为术语的一个原因。
浏览器的Cookie
🍇Cookie是一种由服务器发送到用户浏览器并保存在本地的小块数据,它主要用于存储用户的状态和信息,以便服务器能够识别用户和保持会话状态。这些Cookie中存储的字符串数据可以由客户端(网页)通过JavaScript(JS)自行写入,也可以由服务器在HTTP响应的header中通过Set-Cookie
字段返回给浏览器。因此,Cookie往往被用来实现“身份标识”的功能,允许服务器区分和识别不同的用户。
🍉每个不同的域名都可以拥有自己的Cookie,这意味着不同网站之间的Cookie不会相互冲突,确保了用户在访问不同网站时的独立性和隐私性。当用户再次访问网站时,浏览器会自动将存储的Cookie发送给服务器,服务器据此可以恢复用户的状态和会话信息,从而提供个性化的服务和内容。
Fiddler观察Cookie
🍊通过Fiddler抓包观察页面登录Cookie(以视频网站为例):
1) 清除已有的Cookie
点击URL左侧的小图标,选择Cookie,接着删除已经存在的Cookie。
2) 启动Fiddler,在视频网站进行登陆操作
抓取登录响应:
🍍可以看到,响应中包含了4个 Set-Cookie 属性
值得重点关注的是,第一个 Set-Cookie 里包含了一个 SESSDATA(SessionData) 的属性,属性值是一串很长的加密之后的信息。这个信息就是用户当前登录的身份标识,也称为“令牌(token)”。
3) 访问其他页面
🥥登录成功之后,此时可以看到后续访问该网站的其他页面(比如个人主页),请求中就都会带着刚才获取到的Cookie信息。
🍑请求中的Cookie字段也包含了一个 SESSDATA 属性,里面的值和刚才服务器返回的值相同。后续只要访问这个网站,就会一直带着这个令牌,直到令牌过期/下次重新登录。
Cookie登录过程
🍅类似于去医院看病,网络认证也遵循几个步骤:
一,患者到达医院后需要挂号,这时他们需要提供身份证来获得一张“就诊卡”,这张就诊卡在网络认证中就相当于用户的“令牌”。
二,患者在后续的检查、诊断和开药等过程中,无需再次出示身份证,只需出示就诊卡,医院就能识别出患者的身份,这与网络中只需凭令牌就能进行后续操作相似。
三,当患者结束就诊并不再需要就诊卡时,他们可以注销这张卡,这样患者身份与就诊卡之间的关联就会被销毁,类似于网站注销操作。
四,如果患者再次就诊,他们可以办理一张新的就诊卡,从而获得一个新的“令牌”。
这个过程展示了网络认证中令牌的获取、使用和更新的流程。
状态码 status code
🫐状态码是HTTP响应的一部分,用于告知客户端请求访问一个页面的结果。
状态码由三位数字组成,首位数字定义了响应的类别:
1xx:指示信息 - 请求收到,继续处理。
2xx:成功 - 请求正常处理完毕。
3xx:重定向 - 需要进一步操作以完成请求。
4xx:客户端错误 - 请求包含语法错误或无法完成请求。
5xx:服务器错误 - 服务器在处理请求的过程中发生了错误。
抓取常见的状态码
🍎200 OK:请求成功。这是一个最为常见的状态码,抓包请求的大部分结果都是200,例如抓包 CSDN 主页
🥑202 Accepted: 服务器已接受处理,但未处理完成。与之相似的是 201 Created: 表示服务器已接受并创建新的资源。
🥝204 No Content: 常见于 Head 请求,服务器未返回响应体,只有响应头。
🍇301 Moved Permanently:永久重定向。客户端请求的资源已永久移动至其他地方,由响应头 Location 指向新的资源位置,后续的请求应使用新的地址。
🍉302 Found:临时重定向。类似于手机号码的呼叫转移功能,该状态码常见于登录页面中。
🍊305 Use Proxy:请求者只能使用代理访问请求网页。
🍍400 Bad Request:请求无效/错误。
🥥401 Unauthorized:未授权。
🍑403 Forbidden:拒绝访问。有的页面通常需要用户具有一定的权限才能访问(登录后才能访问)。如果用户没有登录直接访问,就容易见到403。
🍅404 Not Found:资源未找到。在浏览器中输入url,目的就是为了访问该服务器的某个资源,如果该资源不存在,那么就会出现404。
🫐500 Internal Server Error:服务器内部的代码出现错误或崩溃。
🍎504 Gateway Timeout:服务器到网关的请求超时。
使用Fiddler抓包工具,我们可以观察到不同请求的响应状态码,从而了解请求的处理结果。通过分析状态码,我们可以判断请求是否成功,以及可能遇到的问题,从而进行相应的调试和优化。
结语
不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm=1001.2014.3001.5501不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)_fiddler抓包怎么分析入参响应-CSDN博客
https://blog.csdn.net/Chunfeng6yugan/article/details/144024618?spm=1001.2014.3001.5501
🙉随着本篇博客的结束,我们关于使用Fiddler抓包工具分析HTTP请求和响应的三部曲也画上了圆满的句号。感谢每一位读者的陪伴与支持,是你们的关注让我的分享变得更有意义!
在这段旅程中,我们一同探索了HTTP的奥秘,从基础的请求与响应,到深入的URL和Method分析,再到今天的Cookie与状态码全解析,每一步都离不开你们的积极参与和反馈。希望这些内容能够帮助你们在日常学习工作中更加得心应手地使用Fiddler,洞察网络通信的每一个细节。
虽然三部曲已经完结,但这并不意味着我们探索的终点。在未来,我将带来更多精彩的内容,涵盖更广泛的技术领域,希望能够继续得到你们的关注和支持。
再次感谢,让我们在下一篇博客中再次相遇!
希望这篇博客能为你使用Fiddler抓包观察Cookie以及状态码提供一些帮助
如有不足之处请多多指出
我是高耳机
相关文章:

不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)
欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客https://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm1001.2014.3001.5501 不只是请求和响…...

java+springboot+mysql游乐园管理系统
项目介绍: 使用javaspringbootmysql开发的游乐园管理系统,系统包含管理员、员工、用户角色,功能如下: 管理员:登录后台;首页数据统计;员工管理;用户管理;游乐项目管理&…...
@RequestBody,getparameter,@RequestParam,@PathVariable之间的区别和联系
RequestBody、RequestParam、PathVariable和getParameter(你提到的可能是Java Servlet API中的方法)是用于处理HTTP请求参数的不同机制。它们各自有不同的用途和适用场景,下面将详细解释它们之间的区别和联系。 1. RequestBody 用途…...

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务
目录 简介 安装包下载 安装脚本 服务常用命令 简介 通过一键安装脚本实现 Redis 安装包的无网极速部署,并将其成功注册为系统服务,开机自启。 安装包下载 redis-7.0.8.tar.gzhttp://download.redis.io/releases/redis-7.0.8.tar.gz 安装脚本 修…...

VMware虚拟机搭建和镜像配置
VMware虚拟机搭建和镜像配置 下载安装VMware 开始下载 更改安装路径,需要一个大空间的盘 更改后下一步 下一步后,选择不主动升级更新 一直下一步 直到安装完毕 输入许可密钥,我下载的版本是12,输入完成点击输入ÿ…...

红日靶场vulnstark 4靶机的测试报告[细节](一)
目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、漏洞利用Getshell ①Struts 2 s2-045漏洞 手工利用s2-45漏洞 Msf综合利用 ②Tomcat框架(CVE-2017-12615) ③phpMyAdmin(CVE-2018-12613) 构造语句写入冰蝎木…...
深入详解人工智能机器学习常见算法——线性回归算法
深入解析线性回归算法 线性回归是机器学习和统计学中最基本、最常用的预测建模技术之一。它通过线性关系描述因变量与一个或多个自变量之间的联系,帮助我们进行数据建模和预测。本篇文章将详细介绍线性回归的基础知识、算法原理、核心概念、实现方法以及其在实际问题…...
Python 开发环境搭建
Python 开发环境搭建 flyfish 版本 Ubuntu 22.04.5 LTS PyTorch 2.5.1 cuda 12.4 python 3.12.7安装 Anaconda3 依赖 sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6安装命令 …...
OpenCV相机标定与3D重建(9)相机标定函数calibrateCameraRO()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::calibrateCameraRO 是 OpenCV 中用于相机标定的函数,它允许固定某些点来进行更精确的标定。 函数原型 double cv::calibrateCa…...

flink终止提交给yarn的任务
接上文:一文说清flink从编码到部署上线 1.查看正在执行的flink 访问地址(参考):http://10.86.97.191:8099/cluster/apps 2.终止任务 yarn application -kill appID 本文为: yarn application -kill application_17…...
算法刷题Day14:BM36 判断是不是平衡二叉树
题目链接 描述 输入一棵节点数为 n 二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 平衡二叉树(Balanced Binary Tree),具有以下性质:它是…...

【Golang】Go语言编程思想(六):Channel,第一节,介绍Channel
Channel 下面的几个例子将会展示如何定义一个 channel: func chanDemo() {var c chan int // chan int 的含义是, c 是一个 channel, 里面的内容是 int// 上面的声明语句将会创建一个 nil channel, c nil, 它的作用将在 select 当// 中体现 }创建一个非 nil 的 c…...
【Flux.jl】 卷积神经网络
Flux.jl 是包含卷积神经网络的, 但是官方API文件中没有给出一个完整的程序框架, 只是对所需神经元给了局部解释, 此外对 model-zoo 模型动物园中的案例没有及时跟着 Flux.jl 的版本更新, 也无法运行出来结果。 因此本文搭建了一个完整可训练的卷积神经网络。 Conv 卷积算子…...

大模型在辅导场景的深度应用,猿辅导素养课推出启发性“AI作文通”
猿辅导集团旗下的飞象星球面向学校发布“飞象AI作文”,让教育大模型成为老师的AI批改助手、学生的写作助手。芥末堆注意到,猿辅导集团旗下的猿辅导素养课也推出了名为“AI作文通”的AI作文功能,已于7月正式大规模上线,在AI教育领域…...
深入了解架构中常见的4种缓存模式及其实现
4种缓存模式 随着应用程序的复杂性日益增加,缓存管理变得至关重要。缓存不仅能有效减轻数据库负载,还能显著提升数据访问速度。选择合适的缓存模式能够在不同的业务场景下发挥出最佳效果。 本文将详细介绍四种常见的缓存模式:Cache-Aside (…...
Hermes engine on React Native 0.72.5,function无法toString转成字符串
问题描述 Hermes engine on React Native 0.72.5,function无法toString转成字符串 环境 npm6.14.18 node16.17.1项目依赖 "react": "18.2.0", "react-dom": "18.2.0", "react-native": "0.72.5", …...

Spring Boot + MySQL 多线程查询与联表查询性能对比分析
Spring Boot MySQL: 多线程查询与联表查询性能对比分析 背景 在现代 Web 应用开发中,数据库性能是影响系统响应时间和用户体验的关键因素之一。随着业务需求的不断增长,单表查询和联表查询的效率问题日益凸显。特别是在 Spring Boot 项目中࿰…...
Java 设计模式~工厂模式
在java开发,工厂模式应用场景有哪些?在Spring boot原码中 有哪些工厂类,并做相应的代码介绍。 工厂模式 工厂模式(Factory Pattern)是Java中一种常用的创建型设计模式,它提供了一种创建对象的最佳方式。此…...

OmicsTools生信环境全自动化安装配置教程,代做生信分析和辅导
OmicsTools软件介绍和下载安装配置 软件介绍 我开发了一款本地电脑无限使用的零代码生信数据分析作软图神器电脑软件OmicsTools,旨在成为可以做各种医学生物生信领域科研数据分析作图的的全能科研软件,欢迎大家使用OmicsTools进行生物医学科研数据分析…...

鸿蒙HarmonyOS应用开发 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
鸿蒙心路旅程:探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力 HarmonyOS Next 是华为推出的全新一代操作系统,旨在进一步推动分布式技术的深度应用和生态融合。本文将从技术特点、应用场景入手,通过实战案例与代码示例&…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...