3.掀起接口测试的盖头-HTTP初窥(二)
2017-07-20 09:49
148 查看
认识事物一个比较好的、符合人类天性的方法是:从宏观到微观。科学家们由此发现了分子、原子、电子、质子、中子、夸克。
上一篇文章介绍了HTTP最基础的知识,今天咱们来将HTTP解剖一下,来认识HTTP消息的结构。
- Content-Type:用于标记body部分是什么内容,比如image/jpeg表示内容是一种jpeg的图片、text/html标记内容是HTML文本。
- Content-Length: 用于标记消息长度。
- Connection:表示长短连接
关于HTTP响应的消息结构,我只讲一下status字段,也叫状态码。
1xx:信息性状态码
2xx:成功状态码
3xx:重定向状态码
4xx:客户端错误信息
5xx:服务器端错误信息
我以往的写文章风格,每一部分都会标明讲的是What、Why还是How,这篇文章没有标明,因为这篇文章通篇讲的都是what。并且很多时候,理解了what,why是可以自己推理出来的。举个栗子,Content-Type,what-它是什么?是指body的类型,why-为什么有这个字段?答案完全可以自己推测出来:因为对方知道了内容的类型才能正确读取出来。
欢迎关注我公众号“鹿爷聊测试”。
上一篇文章介绍了HTTP最基础的知识,今天咱们来将HTTP解剖一下,来认识HTTP消息的结构。
HTTP请求的消息结构
HTTP请求method
最常用的HTTP请求方法是get和post,现在比较流行的Restful架构,常用的请求方法除了get和post,还有put和delete。下面列出这几种请求方法代表的意思,当前不理解也无大碍。method | 解释 |
---|---|
GET | 请求获取一个资源;而需要服务器发送 |
HEAD | 请求一个资源,但是不需要服务器发送资源而仅传回响应的首部信息 |
POST | 提交表单;支持HTML表单提交;表单中有用户填入的数据;这些数据会发送到服务器端;由服务器存储至某位置 |
PUT | 向服务器写入文档;例如发布系统 |
DELETE | 请求删除URL指向的资源 |
OPTIONS | 探测服务器端对某资源所支持的请求方法 |
TRACE | 跟踪请求资源传输所经过防火墙、代理或网关等 |
CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
HTTP body
消息体是HTTP消息的主体内容,比如我提供加法计算的接口,你要给我两个数a和b,我给你返回和,a和b是就放在body中。上图中body就是“a=1&b=2”。HTTP headers
头部是用于服务端沟通的一些控制字段,比如写一封信,信的内容是body,发件人、收件人、地址、邮编等信息就是头部。如下罗列几个常见头部。- Content-Type:用于标记body部分是什么内容,比如image/jpeg表示内容是一种jpeg的图片、text/html标记内容是HTML文本。
- Content-Length: 用于标记消息长度。
- Connection:表示长短连接
HTTP响应的消息结构
关于HTTP响应的消息结构,我只讲一下status字段,也叫状态码。
status
http响应中的status状态码分为五种:1xx:信息性状态码
2xx:成功状态码
200:OK 201:created
3xx:重定向状态码
301:Moved Permanentl;在响应报文中使用首部"Location:URL";指定资源现在所在的位置 302:Fonud(临时重定向);在响应报文中使用首部"Location:URL";指定临时资源位置 304:Not Modified(可以使用缓存);告诉客户端没有更改资源;条件式请求中使用
4xx:客户端错误信息
403:Forbidden;请求被服务器拒绝 404:Not Found;服务器无法找到请求的URL 405:Method Not Allowed;不允许使用此方法请求相应的URL
5xx:服务器端错误信息
500:Internal Server Error;服务器内部错误 502:Bad Gateway;代理服务器从上级收到了一条伪响应 503:Service Unavailable;服务器此时无法提供服务;但是将来可能可用
小结
今天咱们分解了HTTP的消息结构并进行了初步讲解,有了这些基础知识,咱们下面就可以切入正题-如何进行执行接口测试了。我以往的写文章风格,每一部分都会标明讲的是What、Why还是How,这篇文章没有标明,因为这篇文章通篇讲的都是what。并且很多时候,理解了what,why是可以自己推理出来的。举个栗子,Content-Type,what-它是什么?是指body的类型,why-为什么有这个字段?答案完全可以自己推测出来:因为对方知道了内容的类型才能正确读取出来。
欢迎关注我公众号“鹿爷聊测试”。
相关文章推荐
- 2. 掀起接口测试的盖头-HTTP初窥(一)
- 接口测试之HTTP协议详解
- TestNG+Excel+(HTTP+JSON) 简单接口测试
- 网页QQ登陆命令测试HTTP接口探究
- 转:几种基于HTTP协议的RPC性能比较,以及ICE接口性能测试比较
- 如何使用火狐下的两款接口测试工具RESTClient和HttpRequester发送post请求
- 谷歌插件DHC测试HTTP接口
- Http自动跳转Https的接口测试实践
- Loadrunner Http接口Get/Post方法性能测试脚本解析
- 使用Postman测试http接口,传入cookie信息
- Jmeter接口测试之HTTP
- 【接口测试】:HttpURLConnection 发送post请求
- 在线HTTP POST/GET接口测试工具 - aTool在线工具
- 用shell编写的几个支持http接口测试的工具方法
- 如何使用火狐下的两款接口测试工具RESTClient和HttpRequester发送post请求
- Jmeter进行http接口测试
- http接口测试总结
- 使用Jmeter进行http接口性能测试
- http接口测试小工具
- 接口测试之HTTP接口详细验证清单