Fiddler抓包工具使用——学习笔记(二)

本文深入探讨了HTTP协议的请求报文和响应报文结构,包括请求行、请求头部、请求体和响应状态码、响应头部等关键元素。讲解了GET、POST等HTTP方法的应用场景,并举例说明了URL的组成部分。同时,提到了常见的请求头和响应头字段,如User-Agent、Content-Type、Cookie和Server等,以及它们在HTTP交互中的作用。
摘要由CSDN通过智能技术生成

前置知识学习

目录

HTTP协议请求报文详解

HTTP 请求报文

HTTP 响应报文


HTTP协议请求报文详解

以一个登录页面完整的http文本为例,进一步理解http协议:

http请求分为两部分:请求报文和响应报文

请求报文是客户端向服务器发出的,响应报文是服务器返回给客户端的

HTTP 请求报文

HTTP请求报文主要有请求行、请求头部、空一行、请求正文(或称请求体,可能有,也可能没有)4部分组成

get请求一般没有请求体,常见的post、put请求有请求体

  • 请求行

请求方法与主要应用场景:

get请求资源(提交资源有时也可用get请求,以参数形式拼接到get请求也可实现)
post提交资源
head获取响应头
put替换资源
delete删除资源
option允许客户端查看服务器的性能
trace回显服务器收到的请求,用于测试或诊断

  • URL

即:Uniform Resource Locator:统一资源定位符

格式:

schema://[host:port#]/path/.../[?query-string]

  • schema:协议,如http,HTTPS,ftp(传输文件的)等
  • host:域名或者IP地址
  • port:端口(默认端口80 可以省略不写,Tomcat默认端口8080,MySQL默认端口3306)
  • path:资源路径
  • query-string:发送的参数(get请求可能会在后面拼接+[?key=value&key=value2])

如:https://www.baidu.com/s?wd=俄乌最新局势

  • http协议及版本号

http1.1版本主流,还有http1.0,http2.0

  • 请求头(Request Hear)

Host主机IP地址或者域名
User-Agent客户端相关信息如操作系统、浏览器等信息
Accept指定客户端接收信息类型,如:image/jpg,text/html,application/json
Accept-Charset客户端接受的字符集,如gb2312、iso-8859-1
Accept-Encoding可接收的内容编码,如gzip(压缩格式,能够节省流量), deflate, br
Accept-Language可接收的语言,如:zh-CN,zh; 如果编码不能接收会出现乱码情况
Authorization客户端提供给服务端,进行权限认证的信息
Cookie携带的cookie信息(告诉服务器,我已经登陆过了,你瞅,这是我的cookie)
Referer当前文档的url,即从哪个链接过来的(防止盗链或者做统计)
Content-Type请求体内容类型,如application/json;charset=UTF-8
Content-Length提交内容的数据长度,有多少字节,防止对请求的篡改。
Cache-Control缓存机制,如no-cache,不缓存
Pragma缓存机制,如no-cache,作用一样

以上是常见的,有可能会有更多,开发自己可以添加

  • 请求体

真正发给服务器的一串文本,接口需要的一些参数

  • HTTP 响应报文

HTTP响应报文主要由状态行、消息报头、空一行、响应正文(响应体,有可能没有)4部分组成

  • 协议版本

同上

  • 状态码(status code)

用以表示网页服务器HTTP响应状态的3位数字代码

1xx

提示信息,请求被成功接受(中间状态,一般不关注)

2xx成功,请求被成功处理 200(常见)
3xx重定向相关 304(html文档没有变化,已经被缓存了下来,不需要再向服务器发出请求)
4xx客户端错误 404(可以用fiddler阻塞之后会出现404)
5xx服务器错误 500

  • 响应头
Serverhttp服务器的软件信息,如openresty
DateSun, 13 Mar 2022 14:03:35 GMT 响应报文的时间
Expires指定缓存过期时间
Set-Cookie设置cookie(服务器返回一段文本,保存到本地,下一次请求要带上这个文本来验证)
Last-Modified资源最后修改时间,通过这个时间去比对,如果两个时间相等就直接重定向
Content-Typeapplication/json;charset=UTF-8 响应的类型和字符集
Content-Length内容长度(防止被篡改)
Connection一般keep-alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location指明重定向位置,新的URL地址,如304的情况

以上是常见的,有可能会有更多,开发自己可以添加

  • 响应体

        比较简单,根据接口不同,响应体也不同,在接口测试时据此判断请求有没有被正常处理,测试用例有没有通过

        如果用fiddler获取请求头来做接口测试,具体请求头的内容需要问对应开发人员,不能靠猜

        fiddler可以加载jmeter插件,把请求信息直接导过去,具体方法下节学习

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值