接口测试之Fiddler+HTTP协议

简介: 一、百度URL详解用浏览器打开百度网址,输入任意关键字搜索后:百度URL详细URL地址复制出来如下https://www.baidu.

一、百度URL详解

用浏览器打开百度网址,输入任意关键字搜索后:

img_edb9dfa7b17c9cc27450744e6975415d.png
百度URL

详细URL地址复制出来如下

https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%85%95%E8%AF%BE%E7%BD%91&oq=%25E6%2585%2595%25E8%25AF%25BE%25E7%25BD%2591&rsv_pq=bbba01c60001432b&rsv_t=1eb1OeuUvaLAUAQxJN9olZ4zF9fC5dCGD67qZN3HFJh%2BSYyTdfyUg5UJBr0&rqlang=cn&rsv_enter=0&prefixsug=%25E6%2585%2595%25E8%25AF%25BE%25E7%25BD%2591&rsp=0

img_57d66ad5efbae457c2f184a85a1e2541.png
Fiddle抓取数据

二、URL模式

URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下

scheme 指定低层使用的协议(例如:http, https, ftp)

host HTTP服务器的IP地址或者域名

port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/

path 访问资源的路径

url-params

query-string 发送给http服务器的数据

anchor- 锚

img_a868bc3b7372e389a62d064bc9cfc168.png
Fiddle页面解析

由此可以看到访问百度URL的详情:

1.请求类型(scheme):https

2.host:www.baidu.com

3.路径(path): /s

4.请求参数(url-params):ie=utf-8&f=3&rsv_bp=1&......(问号后面用&隔开)

5.服务器返回状态(result):200 (请求成功)

三、在fiddler查看某个请求是get还是post

img_36850ed494f6c52a175a0eb1eb0f10ba.png
GET请求类型

1)点击左侧,待查看的url地址成选中状态

2)点击右边Inspectors按钮

3)点击Headers

4)查看Request Headers下面:GET,说明是get请求方式

5)再随便点点左侧区域其它的url,可以找到post请求的

img_e281cd8b580be3abd4ebb2e17feed5c1.png
POST请求类型

四、Get和Post方法的区别

Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

我们看看GET和POST的区别

1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.

2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码

五、get与post请求参数的区别

GET请求

img_44bbc7bf11a0901b6dce5416f7161309.png
GET请求参数

POST请求

img_2804a4f55c8702a814b30aed809a2f0d.png
POST请求参数

从上图中可以看出,最明显区别就是post请求多了一块区域,称之为body体,也就是说get请求不带body;post请求带body。

六、fiddler工作原理

img_351dc28da69cb0448e614a6cd2fd6bde.png
Fiddler工作原理

终端设备发出请求,fiddler作为代理,传给服务器;服务器返回数据,fiddler拦截后,再传给终端设备。

查看Request和Response,Fiddler右边上方区域显示request数据,下方区域显示response数据:

img_a758beccdd2fd368238730099b06bb91.png
Request和Response

七、查看请求服务器是否成功

img_d7fcf3ddb46ecd32ed7258c104e6a399.png
请求参数

常见状态码:

200 - 服务器成功返回网页

301 - 永久移动,请求的网页已被永久移动到新位置

404 - 请求的网页不存在,网页不存在。

500 - 服务器遇到错误,无法完成请求。

502 - 服务器作为网关或代理,从上游服务器得到了无效的响应

503 - 服务器暂时不可用,目前无法使用服务器(由于超载或进行停机维护)。

更多状态码解析请移步到服务器状态码解析

目录
相关文章
|
1天前
|
安全 网络协议 网络安全
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
HTTP和HTTPS是互联网主要的两大协议,HTTP是基础的简单请求-响应协议,常用于TCP上,但数据传输不安全。HTTPS是HTTP的安全版本,添加了SSL层进行加密和身份验证,提供更高的安全性,用于保护数据和验证网站真实性。HTTPS需CA证书,可能产生费用,并使用443端口而非HTTP的80端口。
|
1天前
|
网络协议 安全 数据安全/隐私保护
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
SOCKS5和HTTP是两种代理协议,前者是通用型,支持多种网络流量,提供身份验证、IPv6支持及UDP兼容性,更适合实时数据传输。HTTP代理专用于HTTP协议,适用于Web资源请求。SOCKS5在传输方式、功能、兼容性和安全性上更胜一筹,而HTTP代理则在处理HTTP请求时更专业。选择代理协议应根据需求和应用场景,考虑服务的稳定性和安全性。付费代理如kookeey全球代理,支持双协议,速度快且可扩展性强,是可靠的选择。
|
2天前
|
数据采集 网络协议 安全
2024年,你还在等什么?一起探索HTTP协议的奥秘!
2024年,你还在等什么?一起探索HTTP协议的奥秘!
|
2天前
|
网络协议 Java 应用服务中间件
HTTP协议与Tomcat在IJ中配置
本文是对自己学习JavaWeb学习的笔记的总结,添加了一些自己的东西,然后进行一次复盘,并加深一下学习的理解和印象.其中内容主要包括对http协议的详细介绍,java常见服务器的初步介绍,以及IJ旧版和新版的tomcat服务器的配置图解教程
|
2天前
|
存储 网络协议 JavaScript
应用层 HTTP协议(1)
应用层 HTTP协议(1)
5 0
|
3天前
|
缓存 安全 Linux
【探索Linux】P.33(HTTP协议)
【探索Linux】P.33(HTTP协议)
29 7
|
5天前
|
存储 缓存 网络协议
[计算机网络]---Http协议
[计算机网络]---Http协议
|
10天前
|
前端开发 API 网络架构
RESTful接口与http协议状态表述
该文介绍了RESTful风格API的好处和设计原则。RESTful API以资源为中心,通过HTTP方法(GET, POST, PUT, DELETE)表示操作,利用状态码反馈操作结果。它简化了客户端与服务端的交互,提供了一种通用规范,减少沟通成本。设计要点包括:URI描述资源,HTTP方法体现操作,使用标准HTTP状态码,GET不改变数据,使用复数名词,支持复杂资源关系,可选实现HATEOAS,以及接口版本管理。
|
11天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
12天前
|
网络协议 安全 算法
HTTP协议与HTTPS协议
HTTP协议与HTTPS协议