不只是请求和响应:使用Fiddler解读Cookie与状态码全指南(下)

news2025/1/11 10:16:06

欢迎浏览高耳机的博客

希望我们彼此都有更好的收获

感谢三连支持!  


不只是请求和响应:使用Fiddler抓包HTTP协议全指南(上)_fiddler 获取响应脚本-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm=1001.2014.3001.5501

不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)_fiddler抓包怎么分析入参响应-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Chunfeng6yugan/article/details/144024618?spm=1001.2014.3001.5501        🙉在(上)篇和(中)篇博客中,我们初步了解了HTTP协议的基本工作原理,包括它的工作过程,学习了如何使用Fiddler这个强大的抓包工具来捕捉和分析网络请求与响应。现在让我们继续深入,探讨与Cookie以及状态码等更为深入的内容。

目录

历史渊源

浏览器的Cookie

Fiddler观察Cookie

Cookie登录过程

状态码 status code

抓取常见的状态码

结语


历史渊源

        🥝在互联网的早期,为了让普通用户能够理解和接受这种技术,使用一个日常生活中的词汇作为术语是一个明智的选择。就像饼干一样,计算机中的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博客icon-default.png?t=O83Ahttps://blog.csdn.net/Chunfeng6yugan/article/details/144005872?spm=1001.2014.3001.5501不只是请求和响应:使用Fiddler抓包URL和Method全指南(中)_fiddler抓包怎么分析入参响应-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Chunfeng6yugan/article/details/144024618?spm=1001.2014.3001.5501

        🙉随着本篇博客的结束,我们关于使用Fiddler抓包工具分析HTTP请求和响应的三部曲也画上了圆满的句号。感谢每一位读者的陪伴与支持,是你们的关注让我的分享变得更有意义!

        在这段旅程中,我们一同探索了HTTP的奥秘,从基础的请求与响应,到深入的URL和Method分析,再到今天的Cookie与状态码全解析,每一步都离不开你们的积极参与和反馈。希望这些内容能够帮助你们在日常学习工作中更加得心应手地使用Fiddler,洞察网络通信的每一个细节。

        虽然三部曲已经完结,但这并不意味着我们探索的终点。在未来,我将带来更多精彩的内容,涵盖更广泛的技术领域,希望能够继续得到你们的关注和支持。

        再次感谢,让我们在下一篇博客中再次相遇!


希望这篇博客能为你使用Fiddler抓包观察Cookie以及状态码提供一些帮助

如有不足之处请多多指出

我是高耳机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256945.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务

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

第3章.垃圾收集器与内存分配策略

概述 对象已死 引用计数法 可达性分析算法 再谈引用 生存还是死亡 回收方法区 垃圾收集算法 分代收集理论 3种垃圾收集算法 HotSpot的算法细节实现 根节点枚举 安全点 安全区域 记忆集与卡表 写屏障 并发的可达性分析 误消亡问题 经典垃圾收集器 概述 简单的一些GC CMS G1 低延…

Python 类的设计(以植物大战僵尸为例)

关于类的设计——以植物大战僵尸为例 一、设计类需满足的三要素1. 类名2. 属性和方法 二、以植物大战僵尸的为例的类的设计1. 尝试分类2. 创建对象调用类的属性和方法*【代码二】*3. 僵尸的继承 三、代码实现 一、设计类需满足的三要素 1. 类名 类名:某类事物的名…

如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档

本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能,通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1.WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…

【Java】—— 图书管理系统

基于往期学习的类和对象、继承、多态、抽象类和接口来完成一个控制台版本的 “图书管理系统” 在控制台界面中实现用户与程序交互 任务目标: 1、系统中能够表示多本图书的信息 2、提供两种用户(普通用户,管理员) 3、普通用户…

记录ubuntu22.04重启以后无法获取IP地址的问题处理方案

现象描述:我的虚拟机网络设置为桥接模式,输入ifconfig只显示127.0.0.1,不能连上外网。,且无法上网,用ifconfig只有如下显示: 1、sudo -i切换为root用户 2、输入dhclient -v 再输入ifconfig就可以看到多了…

异步操作,promise、axios

一、异步操作(异步编程)、同步操作 异步操作是指在编程中,某个任务的执行不会立即完成,同时不会阻塞后续代码的执行。在异步操作中,程序可以继续运行,并在异步任务完成时得到通知并处理结果。这与同步操作…

第一性原理构造医疗信创域高质量发展路径应用探析

门诊电子病历录入 摘要: 主要介绍了第一性原理在医疗系统开发中的应用及其重要性。阐述了第一性原理的概念及发展历程,并指出其在各个领域的重要性和应用价值。详细分析了第一性原理在医疗系统开发中的具体影响,包括对医院管理和互联网医疗的…

MySQL8下载安装教程

前言 1.个人经验,仅供参考!!! 2.如果之前有下载过MySQL,请检查是否有删除干净,在控制面板删除最好 下载网址:MySQL :: MySQL Community Downloads 下载步骤 进入网址选择要下载的 下一步网…

算法日记 45 day 图论(并查集基础)

并查集解决什么问题 并查集常用来解决连通性问题。 大白话就是当我们需要判断两个元素是否在同一个集合里的时候,我们就要想到用并查集。 原理 既然是查找是否在同一个集合中,那么这个集合是怎么构建的呢?用一维数组来表示一个有向图&…

PTA DS 6-4 带头结点的链队列的基本操作 (C补全函数)

6-4 带头结点的链队列的基本操作 分数 10 全屏浏览 切换布局 作者 黄复贤 单位 菏泽学院 实现链队列的入队列及出队列操作。 函数接口定义: Status QueueInsert(LinkQueue *Q,ElemType e); Status QueueDelete(LinkQueue *Q,ElemType *e)&#x…

Windows 系统没有网络链接常见原因以及解决方案

在使用 Windows 电脑时,有时会遇到电脑显示已连接网络,但却无法访问 Internet 的情况,这可能是由多种原因导致的。以下简鹿办公将详细介绍一些常见原因及对应的解决方案。 一、网络连接问题 原因 路由器故障:路由器长时间运行可…

lnmp+discuz论坛 附实验:搭建discuz论坛

Inmpdiscuz论坛 Inmp: t: linux操作系统 nr: nginx前端页面 me: mysql数据库 账号密码,等等都是保存在这个数据库里面 p: php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请求转发到数据库 n…

杨振宁大学物理视频中黄色的字,c#写程序去掉

先看一下效果:(还有改进的余地) 我的方法是笨方法,也比较刻板。 1,首先想到,把屏幕打印下来。c#提供了这样一个函数: Bitmap bmp new Bitmap(640, 480, PixelFormat.Format32bppArgb); // 创…

Openlayers基础知识回顾(五)

1、GeoJSON数据的加载 GeoJSON是一种基于JSON的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素、属性和它们的空间范围的数据 2、GeoJSON转化为ol要素 new ol.format.GeoJSON().readFeatures() 一、canv…

VTK知识学习(21)- 数据的读写

1、前言 对于应用程序而言,都需要处理特定的数据,VTK应用程序也不例外。 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型,然后处理这些模型数据(如由类 vtkCylinderSource 生成的多边形数据); 第二种是从外部存储介质里导…

javaWeb之过滤器(Filter)

目录 前言 过滤器概述 什么是过滤器 过滤器详细 过滤器的生命周期 过滤器的应用 创建一个简单的Filter类步骤 注意:指定拦截路径,我们有两种方式 实例 前言 本篇博客的核心 知道过滤器的整个拦截过程知道如何指定拦截路径知道过滤器的生命周期…

如何增强通信监控系统

随着员工工作方式的改变,创建安全的远程通信通道至关重要。这对于数据安全也很重要。通信监控系统是确保数据和网络安全的当务之急。 如今,员工越来越多地使用电子通信。在理想世界中,这些渠道的范围是明确界定的。在现实世界中,…

「Mac玩转仓颉内测版47」小学奥数篇10 - 数列求和

本篇将通过 Python 和 Cangjie 双语实现数列求和的计算。通过这个题目,学生将学会如何通过公式法和循环法求解等差数列与等比数列的和。 关键词 小学奥数Python Cangjie数列求和 一、题目描述 编写一个程序,计算等差数列和等比数列的和。用户输入首项…

Robot Framework的 跳出 for循环

一. 简介 前面简单学习了一下,robotframework中的 for循环语句,文章如下: Robot Framework的 for循环语句-CSDN博客 本文继续学习 有关 for循环的其他操作,例如跳出 for循环,或者退出某一次循环等操作。 二. Robo…