不只是请求和响应:使用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 是华为推出的全新一代操作系统,旨在进一步推动分布式技术的深度应用和生态融合。本文将从技术特点、应用场景入手,通过实战案例与代码示例&…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...