接口测试第三课(HTTP协议简介) -- 转载
Posted 一世飛扬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试第三课(HTTP协议简介) -- 转载相关的知识,希望对你有一定的参考价值。
一、打开百度URL详解:
用浏览器打开百度网址,输入任意关键字搜索后:
详细URL地址复制出来如下
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=monline_3_dg&wd=%E6%B5%8B%E8%AF%95&rsv_pq=d87c123200060e83&rsv_t=34df3NkqrKKYpm5mJCkqszVIvRNqpN%2B1H9cSxLPZMi%2FMhCa48ccyKZrhtT9ZzjLUwv0x&rsv_enter=1&rsv_sug3=1
在fiddler里面抓到的数据包如下,红色框区域
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- 锚
由此可以看到访问百度URL的详情:
-
请求类型(scheme):https
-
host:www.baidu.com
-
路径(path): /s
-
请求参数(url-params):ie=utf-8&f=3&rsv_bp=1&......(问号后面用&隔开)
-
服务器返回状态(result):200 (请求成功)
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上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
四、如何用fiddler查看某个请求是get还是post?
1)点击左侧,待查看的url地址成选中状态
2)点击右边Inspectors按钮
3)点击Headers
4)查看Request Headers下面:GET,说明是get请求方式
5)再随便点点左侧区域其它的url,可以找到post请求的
五、查看Request和Response
先看下fiddler工作原理
也就是终端设备发出请求,fiddler作为代理,传给服务器;
服务器返回数据,fiddler拦截后,再传给终端设备。
Fiddler右边上方区域显示request数据,下方区域显示response数据,如图
六、get和post请求参数有什么不一样
get请求如下图:
post请求如下图
最明显区别就是post请求多了一块区域,称之为body体
也就是说get请求不带body;post请求带body
七、如何查看请求服务器是否成功?
常见状态码:
200 - 服务器成功返回网页
301 - 永久移动,请求的网页已被永久移动到新位置
404 - 请求的网页不存在,网页不存在。
500 - 服务器遇到错误,无法完成请求。
502 - 服务器作为网关或代理,从上游服务器得到了无效的响应
503 - 服务器暂时不可用,目前无法使用服务器(由于超载或进行停机维护)。
以上是关于接口测试第三课(HTTP协议简介) -- 转载的主要内容,如果未能解决你的问题,请参考以下文章