一、 网络知识
1.1 HTML
- HTML:是英文 HyperText Markup Language 的缩写,又叫做超文本标记语言.
- 作用:将网络各种超文本通过标记形式组装在一起形成的HTML格式的文件方便浏览器查看
1.2 HTTP
HTTP本身是协议(网络中传输数据遵循的规则)
HTTPS是安全的传输协议(ssl)
1.3 http和https的区别
面试题:
HTTPS比HTTP要安全,多了SSL安全链接协议
协议用于端口号不一样,HTTP默认80,https默认443 【端口:应用服务传输数据的出入口】
HTTP传输速度比https快
- HTTP:是英文 HyperText Transfer Protocol 的缩写,又叫做超文本传输协议,是最常用的协议之一(客户端和服务器进行交互的协议(应用层协议))。
- 作用:将网络中通过HTML编辑好文件按照一定规范(协议)进行传递的过程
1.4 URL
统一资源定位符:网络中任何资源存放的位置
组成:
- 协议:http、https、ssh
- ip地址/域名:服务器地址
- 端口号-和协议对应-80、443、22
- /资源路径--具体要访问的文件位置
- ?查询参数:发送请求时携带的参数---可以带多个,多个参数之间用&分割
1.5 http的构成
1.5.1 http请求
请求行
请求方法
- get--服务器获取(查询)
- post--服务器获取(修改)
- put--服务器获取(新增)
- delete服务器获取(删除)
- url
- 协议/版本
- 请求头(描述客户端的信息)
- 请求体(发送携带数据)
**重点面试题**:get和post请求的区别?
get请求没有请求体,post请求有请求体
get请求传递参数在url中,post请求传递的参数在请求体中
get请求传递的参数长度有限制,post请求传递参数没有长度限制
post请求相对比较安全
get请求中传递参数的编码方式是ASCII码,post请求无限制
1.5.2 http响应
响应行
- 协议/版本
响应状态码(描述服务器响应结果状态)
- 2XX:表示通讯正常(请求已经被响应),成功的响应
- 3XX:表示重定向(请求第一次知道新地址,后续还需要请求)
- 4XX:表示客户端错误
- 5XX:表示服务端错误
- 结果描述
- 响应头(描述服务器的属性信息)
- 响应体(服务器返回的数据(结果)信息)
二、 抓包(fiddler)
2.1 概念
抓包(packet capture) 就是将网络传输发送与接收的数据包进行截获、重发、编辑、转
存等操作,也用来检查网络安全。
2.2 作用
- 分析定位bug,判断前后端问题
- 绕过界面限制,测试后台应用服务(接口测试)
- 通过工具模拟弱网测试
2.3 原理
2.4 Fiddler界面介绍
2.5 设置过滤器(仅显示特定主机的抓包信息)
2.6 抓取数据包定位bug
eg:结合数据库分析定位
- 打开fiddler
- 打开默认浏览器(IE),在浏览中输入 服务器地址 回
- 查看fiddler会话窗口是否有对应的数据包
eg:抓包定位bug
案例:检查线上地址后台会员管理列表中会员的性别信息和前台页面性别信息对比是否一致问题
注意:发现前后台同一账号性别不一致,无法定位出是前台还是后台的bug
定位bug思路:
- 对比页面发现不一致【前台页面有数据(后台传输的)、后台页面也有数据(数据库)】
通过抓包工具去判断
Ⅰ、检查发送信息是否正确(请求行头体) GET http://192.168.100.130/Home/User/info.html HTTP/1.1 Ⅱ、检查响应的数据是否正确(响应的行头体) HTTP/1.1 200 OK 响应体数据为HTML文件(待检查) Ⅲ、找到报错位置的关键词,比如:男/女/保密 Ⅳ、进步一判断返回的数据的来源以及对应的响应文件(html文件)
Ⅴ、前台从后台传递,后台页面的数据来源于数据库,所以结合数据库对比
最后才确定属于谁的问题
前端的bug
2.7 前后端问题定位
也可以借助于响应状态码
2XX:表示通讯正常
4XX:客户端出现错误(url错了、必要的参数写错了)
5XX:服务端出现错误(网络错误、应用服务出现错误)
通过抓包查看请求和响应
发送方出现问题,前端问题 响应方出现问题,后端问题 请求和响应没有问题,检查响应的数据包本身
查看返回的数据包内容,包含的数据是什么格式的(html/json)
如果是html返回出错,前端问题,如果JSON返回出错初步定位可能是后台【需要参 数据库再确认】
2.8 拦截请求修改(绕过界面做测试)
作用:相当于做接口测试,验证后台的接口服务是否正常
eg:登录
模拟12位手机号登录(界面已经拦截,需要绕过界面做后台的接口测试)
测试通过12位手机号访问后台进行登录,看是否有错误的提示
后台返回:账号不存在!
步骤分解:
- 打开待测页面
- 在fiddler中设置开启断点
在待测界面中输入数据确认
登录页面输入正确的手机号、密码、验证码
- 在fiddler中弹出断点数据包,双击打开,修改请求体数据
- 修改完毕后,点击运行完成(查看服务器的响应),后续其他数据包直接运行完成即可
- 测试完毕关闭断点
2.9 模拟弱网测试(针对客户端在不同网络环境下访问服务器展示状态)
设置弱网参数
Rules->Customize Rules 或者直接Ctrl+R
ctrl+F输入m_SimulateModem或者300, 找到m_SimulateModem 更改上行、下行网络速度,Ctrl+S保存 注: request-trickle-delay:代表每KB的数据被上传时会被延时多少毫秒 response-trickle-delay:对应下载时每KB的数据会被延时多少毫秒
- fiddler开启弱网功能
- 操作浏览器的页面(刷新/进入)
- 查看弱网测试结果
- 关闭弱网功能
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。