http网络协议及fiddler使用

发布时间 2023-11-04 20:56:58作者: Sakura媛媛

请求:

  • 请求行(请求方法  URL  协议/版本号)
  • 请求头(以键值对的形式展示:客户端的属性信息)
  • 请求体(格式:name=value,多个参数用&隔开)

 URL组合

 http和https的区分

  相同点:都是协议,都可以用来传输数据

  不同点:http不加密,不安全;https加密(公网使用);http常用端口号是80,https常用端口号是443

 

HTTP请求

常见的请求方法:GET 和 POST

相同点:都可以向服务器发送请求,都可以带参数

不同点:GET请求参数放在URL里(在浏览器地址栏中可以直接看到);

    URL本身有长度限制,参数数量不能过多;

    没有请求体

 

    POST请求参数放在请求体里(抓包才能看到),相对安全;

    请求体本身没有参数长度限制

 

HTTP响应

 

  •  响应行(协议/版本号  响应状态码  响应状态描述)
    • 响应状态码:
      • 2XX:成功
      • 3XX:重定向(变更地址)
      • 4XX:客户端错误
      • 5XX:服务器错误
  •  响应头(以键值对的形式展示:服务器端的属性信息)
  •  响应体(服务器返回的结果:图片/html文件/JSON数据/txt等)

 

关于抓包

   客户端向服务器端发送请求以及服务器响应客户端的请求,都是以数据包来传递的。抓包就是通过工具拦截客户端与服务器交互的数据包。

  fiddler

   fiddler常见的三种应用场景:

    1、定位前后端bug

    2、弱网测试

    3、绕过界面限制直接测试服务器

  实例:客户下单支付成功了,但是订单页面没有显示订单,怎么定位问题?

    1、查看数据库的订单表,看看有没有刚刚下单的订单记录:

      没有就是下单环节入库问题;有就是查询订单环节问题

    2、用fiddler抓取对应问题环节的数据包:

      如果抓不到请求,就是前端问题;

      如果有请求但是没响应,就是后端问题;

      如果有请求也有响应,需要查看响应信息,如果返回报错,则需要具体分析报错内容。

 

  fiddler设置过滤

 

  fiddler设置弱网进行测试

    1、设置网络延时时间

 

 

    2、开启网络延时

 

 

  fiddler设置断点

    before request:在服务器端收到客户端发送的请求之前拦截(可修改请求内容)

    after response:在客户端收到服务器端返回的响应之前拦截(可修改返回内容)

 

  F12抓包

 

  弱网环境下可能会出现的异常:

    1、上传文件时进度卡住不动

    2、登录不上或者登录后立即掉线

    3、响应过程中页面控件可点击,导致崩溃

    4、搜索不响应,多次点击后结果显示总在刷新被替换

 

可通过设置断点来验证网站有没有加入防篡改策略(无法通过抓包来修改请求和响应)