HTTP基础及Fiddler工具的使用

本文详细介绍了HTTP协议的基础知识,包括万维网概念、TCP/IP协议、HTTP请求与响应、请求方法的区别,以及GET与POST的主要差异。同时,深入讲解了Fiddler工具的使用,包括设置抓取HTTPS协议、抓取GET和POST请求、清屏、显示参数、设置过滤条件和导出等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP基础及Fiddler工具的使用

一.HTTP基础
1.www万维网
WWW的概念:World Wide Web 万维网 一个大规模的,联机式的信息储所。在于用链接的方式能非常方便的从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息
WWW使用统一资源定位符URL 来标识WWW上的各种文档
----- URL的一般格式:<协议>://<主机>:<端口号>/<路径>

2.TCP/IP协议
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200518153148535.png?x-oss-process=image/waterma在这里插入图片描述
3.什么是 HTTP – 超文本传输协议
在客户程序(如浏览器)与WWW服务器程序之间进行交互使用的协议
目的是保证客户机与服务器之间的通信。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议。
web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务端。
举例:
客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。
响应包含关于请求的状态信息以及可能被请求的内容。

4.Request和Response
在这里插入图片描述

在这里插入图片描述
响应头信息
响应消息的第 2 行及以后的内容为响应头信息,内容一直到出现空行(只含有换行符的行)为止
以下为典型的响应头信息:
Content-Length

显示响应正文的字节数:
Content-Type

指定为 MIME 类型。HTML 文档的情况下则为 text/html。下表列出了常见的 MIME 类型

分号之后的 charset=UTF-8 表示 HTTP 响应的字符编码。字符编码必须被正确设置

5.请求服务器类型
1)GET 获取资源
GET 方法用来请求访问已被URI识别的资源。指定的资源经过服务器端解析后返回响应内容。也就是说,如果请求的资源是文本,那就保持原样返回
2)POST 传输实体主体
POST 向指定的资源提交要被处理的数据
3)PUT 传输文件
PUT 方法 用来传输文件。就像FTP协议的文件上传一样,要求在请求报文的主体中包含内容,然后保存到请求URI指定位置
4)HEAD 获取报文首部
HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等
5)DELETE 删除文件
DELETE方法用来删除文件,是与PUT相反的方法。DELETE方法按请求URI删除指定的资源
6)OPTIONS 询问支持的方法
OPTIONS 方法用来查询针对请求URI指定的资源支持方法

区别:
发送数据方式:
GET传输数据是通过URL请求,以field (字段) = value的形式,置于URL后, 并用”?“连接, 多个请求数据间用”&"连接,
如http://127.0.0.1/Test/login.action?name= admin&password=admin,这个过程用户是可见的
POST传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的

传输数据量的大小:
GET传输的数据量小,因为受URL长度限制,但效率较高,POST可以传输大量数据, 所以上传文件时只能用post方式

安全性:
GET比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息

编码格式支持:
GET方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,POST支持标准字符集,可以正确传递中文字符

浏览器是否缓存:
GET请求浏览器会主动cache, GET请求参数会被完整保留在浏览器历史记录里,而POST中不会

6.COOKIE状态管理
1)HTTP是不保存状态协议
HTTP是不保存状态,即无状态协议。HTTP协议自身不对请求和响应之间的通讯状态进行保存。也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持续化处理
使用HTTP协议,每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应报文的信息。这是为了更快的处理大量事务。确保协议的可伸缩性,而特意把HTTP协议设计成如此简单

Cookie 会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie
下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去
服务器端发现客户端发送过来的Cookie后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息

7.HTTPS安全协议

HTTP缺点:
1、通信使用明文(不加密),内容可能会被窃听
2、不验证通信方的身份,因此有可能遭遇伪装
3、无法证明报文的完整性,所以有可能已遭到篡改

HTTPS 超文本传输安全协议 = HTTP + SSL (安全套接层) | TLS (安全层传输协议

二.Fiddler工具

1.简介
一个HTTP协议调试代理工具
1、是位于客户端和服务器的HTTP代理,它能记录所有客户端和服务器的HTTP和HTTPS请求响应,进行截获、重发、编辑、转存等操作
2、允许监视、设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展

2.设置抓取HTTPS协议
Fiddler只能抓取Http和https格式的,但是默认只能抓取http,需要设置
Tools——>Telerik Fiddler Options——>HTTPS下,勾选:
1、CaptureHTTPS CONNECTs、Decrypt HTTPS traffic 、ignore server certificate errors(unsafe)——>点击OK,弹出证书之后直接确认就行

from all processes:抓所有的请求
from browsers only:只抓浏览器的请求
from non-browsers only:只抓非浏览器的请求from remote clients only:只抓远程客户端请求

在这里插入图片描述
如果出问题了,重新设置:点击Actions,选择最后一项,Reset All certificates,然后关闭

3.抓取GET和POST请求

GET

1、打开fiddler工具,然后浏览器输入博客首页地址:http://www.cnblogs.com/yoyoketang/
2、点开右侧Inspectors下的Headers区域,查看Request Headers
3、Request Headers区域里面的就是请求头信息,可以看到打开博客园首页的是get请求
在这里插入图片描述

POST

1.打开登录首页:https://passport.cnblogs.com/user/signin2.输入账号和密码登录成功后,查看fiddler抓包的请求头信息,可以看出是post请求

在这里插入图片描述

清屏

1.打开fiddler后,左边会话框区域刷刷刷的很多请求,那么如何有效的找出自己需要的请求呢?2.首先第一步:清屏(cls),在左下角命令行输入cls,清空屏幕(清屏也可以使用快捷键Ctrl+X)在这里插入图片描述
显示

get请求的Raw参数查看,主要分三部分:–第1部分是请求url地址–第2部分是host地址–第3部分是请求头部信息header
在这里插入图片描述

4.设置过滤条件和导出

过滤条件

1、Use Filters :是否使用过滤,只有在选择了这个选项以后才能修改下边的过滤条件,下边的过滤条件可以相互独立,也可以相互组合。

2、Actions :字面意思是动作的意思,也就是我们要做什么操作,里边包含有几个选项:
Run Filterset now :马上执行过滤
Load Filterset: 加载本地过滤设置文件
Save Filterset :保存过滤条件到文件

3、Hosts:通过主机名来进行过滤。
No Zone Filter :不通过空间进行过滤,这个是分内网跟外网的
show only Intranet Hosts : 内网
show only internet Hosts:外网
No Host Filter :不通过主机名进行过滤
Hide the following Hosts:隐藏下边输入的主机名的会话
show only the following Hosts:显示下边输入的主机名的会话
flag the following Hosts:标志下边输入的要过来的主机名的会话;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

过滤进程

根据客户端进程来进行过滤,选中 show only traffic from ,然后就可以选择要过来哪个进程的会话
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200518164449681.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Fx在这里插入图片描述

设置备注

在这里插入图片描述

导出Jmeter

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值