HTTP的协议格式与Fiddler的应用

news2024/10/7 20:29:42

HTTP的协议格式与Fiddler的应用

  • 🔎HTTP协议是什么
  • 🔎HTTP协议的工作过程
  • 🔎HTTP的协议格式
    • Fiddler 的应用
    • 抓包工具原理
    • 协议格式总结
  • 🔎结尾

在这里插入图片描述

🔎HTTP协议是什么


HTTP(超文本传输协议)是一种应用非常广泛的应用层协议

对于 TCP / IP 分层模型的理解, 可以参考TCP / IP 模型

HTTP 协议往往是基于传输层的 TCP 协议实现的
(HTTP1.0, HTTP1.1, HTTP2.0 均为 TCP 实现, HTTP3 基于 UDP 实现)

🔎HTTP协议的工作过程


在这里插入图片描述

  • HTTP 是一种 “一问一答” 格式的协议(一个请求对应一个响应)
  • 可以将浏览器看作是一个 HTTP 客户端
  • 当我们在浏览器输入一个 “网址”, 此时浏览器(客户端)就会给对应的服务器发送一个 HTTP 请求
    服务器收到这个请求后, 经过处理, 会返回给浏览器(客户端)一个 HTTP 响应

🔎HTTP的协议格式


此处借助 Fiddler 工具进行抓包, 帮助认识 HTTP 的协议格式

Fiddler 的下载地址

Fiddler 的应用


在这里插入图片描述

  • 左侧窗口显示了所有的 HTTP 请求 / 响应, 可以选中某个请求查看详情
  • 右侧上方显示了 HTTP 请求的报文内容
    (点击 Raw 标签可以查看详细的数据格式)
  • 右侧下方显示了 HTTP 响应的报文内容
    (点击 Raw 标签可以查看详细的数据格式)
  • 请求和响应的详细数据, 可以通过点击右下角的 View in Notepad 进行查看

以 Sogou 浏览器举例

在这里插入图片描述

  • 上方显示了 HTTP 请求的报文内容
  • 下方显示了 HTTP 响应的报文内容

点击 View in Notepad

查看 HTTP 请求的详细数据格式

在这里插入图片描述

在这里插入图片描述

  • 一个 HTTP 请求的详细数据格式, 包括了四个部分
    • 首行 在这里插入图片描述
    • header
      在这里插入图片描述
    • 空行
      在这里插入图片描述
    • 正文(body) 空行后面的内容, 有时候可以没有 body


查看 HTTP 响应的详细数据格式

在这里插入图片描述

出现乱码时表示响应可能是被压缩过的

在这里插入图片描述

我们需要点击下面这个按钮进行解压

在这里插入图片描述

解压后的效果

在这里插入图片描述

  • HTTP 响应的详细数据格式
    • 首行
      在这里插入图片描述
    • header
      在这里插入图片描述
    • 空行
      在这里插入图片描述
    • 正文(body)
      在这里插入图片描述

抓包工具原理

Fiddler 相当于 “代理”
浏览器访问服务器时, 就会把 HTTP 请求先发给 Fiddler
Fiddler 再把请求转发给服务器
当服务器返回数据时, Fiddler 拿到返回的数据, 再把数据交给浏览器

举个栗子🥝

滑稽老哥(浏览器)想喝可乐, 但他此刻懒得下楼
于是他就让在楼下的舍友(Fiddler)帮忙捎带一瓶可乐上来(HTTP 请求)
舍友(Fiddler)收到滑稽老哥(浏览器)的消息, 就去自动贩卖机买可乐(转发请求到服务器)
舍友拿到可乐后(服务器返回数据), 将可乐交付于滑稽老哥(浏览器)

协议格式总结

在这里插入图片描述
图片来自网络

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油

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

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

相关文章

栈和队列OJ题:LeetCode--20.有效的括号

朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode--20.有效的括号 数 据 结 构 专 栏:数据结构 个 人 主 页 :stackY、 LeetCode 专 栏 :LeetCode刷题训练营 LeetCode--20.有效的括号:htt…

TypeError Object of type int64 is not JSON serializable

TypeError: Object of type int64 is not JSON serializable debug解析,在正常处理数据过程中,把模型预测结果,其他结构化数据转为str保存时,常常用到 json.dumps(),报错内容如标题所示。 原因:json.dump…

Vue图片处理解决方案,一篇就够了

文章目录 一、阅读须知二、解决的问题三、知识储备四、解决方案五、核心代码六、参考资料七、FileReader()对象八、Exif库使用九、Canvas画布十、动态创建标签并添加绑定事件十一、utils方法十二、vue中图片预览十三、工具网站 一、阅读须知 小帅爆肝整理的这篇文章&#xff0c…

华为OD机试真题 Java 实现【异常的打卡记录】【2023Q1 100分】

一、题目描述 考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据。 为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的收集打卡记录进行异常排查。 如果出现以下两种情况,则认为打卡异常&…

持续引领 | 通付盾入选数说安全《2023年中国网络安全市场全景图》!

5月16日,数说安全正式发布《2023年中国网络安全市场全景图》(以下简称全景图),这是自2018年开始,数说安全发布的第六版全景图。 其中,通付盾入选自动化攻击防护(Anti-Bot)、移动应用…

【软件工程】面向对象开发全面总结

文章目录 前言一、引言二、面向对象开发的含义三、面向对象开发的原则1. 封装原则2. 继承原则3. 多态原则4. 抽象原则5. 接口隔离原则6. 依赖倒置原则 四、面向对象开发的基本原则1. 单一职责原则2. 开放封闭原则3. 里氏替换原则 五、面向对象开发的方法1. 面向对象分析&#x…

阿里云服务器安装MySQL的具体步骤

1.首先打开阿里云,找到自己对于的公网ip 2.这里我使用MobaXterm的远程连接工具,这个工具还是很不错的耶,就是复制上图的公网ip地址 3.填写完成之后,会让你输入你阿里云服务端登入的密码,也就是你阿里云重置实例的密码&…

深度学习的十条调参经验

目录 法则一:调参、模型和数据 1、调参是锦上添花的事 2、模型 3、数据

富文本编辑器 kindeditor 使用整理

kindeditor富文本编辑器忘记什么时候添加到项目中了,最近做一个功能需要在原有编辑器上自定义添加一些固定内容,于是对着编辑器文档研究了一番,在这里做一个使用方式整理。 1.下载kindeditor 下载地址如下: https://github.com/…

视频平台。。。。 。

1.py 读取图片视频流 from flask import Flask from flask import render_template import os images_path_list[‘D:\imgs\’filename for filename in os.listdir(‘D:\imgs\’) if filename.endswith(‘.jpg’)] print(images_path_list) def return_img_stream(img_local_p…

城市内涝监测预警系统解决方案

一、方案背景 城市化进程的逐渐加快,城市内人口大量增多,交通运输压力增大,城市建设越来越密集,道路铺建面积越来越多,城市化的发展改变了城市区域的地表环境,致使城市雨水不能像农村或是古代雨水那样&…

JVM调优神器,运用 Arthas 释放 Java应用性能的全部潜力

Arthas、jstack、jstat 和 jmap 都是 Java 调优工具,但它们之间有以下区别: Arthas 是一款全新的 Java 诊断与调试工具,不仅可以执行传统的 JVM 监控命令,还提供了许多其他高级特性,如实时监控、动态修改代码、反编译…

什么是容器

什么是容器 一:概念二:容器API类图2.1 Collection2.2 Set2.3 List2.4 Map 三:详细解释3.1 Collection接口3.1.1 Collection用法 3.2 Iterator接口3.3 List接口3.4 Comparable接口 四:如何选择数据结构4.1 衡量标准:读的…

CRM系统本地部署和云部署的优缺点

众所周知,CRM系统部署方式有两种,分别是本地部署和云部署。两者各有优缺点,企业可以按照自身的需求来进行选择。下面说说CRM不同部署方式的优缺点。 CRM本地部署 本地部署是指将CRM系统安装在企业自己的服务器上,并由企业自行维…

网工届封神的五条命令

文章目录 前言一、PING:测试与目标主机的连通性二、IPCONFIG:显示网络适配器的IP地址三、tracert:测试到达目标主机的路径四、arp -a:查询本机高速缓存项目五、route print:查看计算机路由表中的项目 前言 提示:这里可以添加本文要记录的大概内容&#…

【密码产品篇】VPN产品密钥体系结构

【密码产品篇】VPN产品密钥体系结构 VPN产品只有"设备密钥"是"非对称密钥"—【蘇小沐】 IPSec VPN密钥体系 IPSec VPN密钥体系:设备密钥、工作密钥、会话密钥。 IPsec VPN作用设备密钥非对称密钥对,包括签名密钥对和加密密钥对&a…

axios 的 qs库

1.axios官网中提到的qs库 axios官网 2. content-type和 参数 的关系 content-type : application/json,要求的参数格式是JSON {a:c,b:d }content-type :application / x-www-form-urlencoded 要求的参数格式是键值对拼接的方式 :keyvalue&keyvalue ac&bd…

Powerflex ready node

1 网络交换机 需要配置 2 网卡配置 3 磁盘残留信息清楚 4 磁盘顺序如何设置固定 特别是sda这块 #rpm -qa | grep EMC --查看当前安装的EMC Powerflex组件信息 安装客户端注意 需要使用如下 rpm --import RPM-GPG-KEY-ScaleIO #MDM_IP10.10.10.xx,10.10.20.xx rpm -i EMC-…

webpack将vue3单页面应用改造成多页面应用

上篇文章搞了个单页面vue,现在要将其改成多页面,只是简单尝试,给了例子 其实也就是改个webpack的入口和html模版的配置,其他的话,每个页面都有自己的vue和路由实例,pinia的话就共享吧 !import…

界面控件DevExpress Blazor UI v22.2 - 报表、富文本编辑器组件增强

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具,该组件拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应…