我们在接口测试过程中,可能会用http协议,webservice协议,当然用的较多的还是http协议,webservice协议在此不做过多介绍,我们先了解一下http协议,然后重点介绍http请求与响应。

http协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

http请求

  • 请求行
  • headers(请求头部)
  • body(请求数据)

1、请求行

请求行分为三个部分:请求方法、请求地址和协议版本

请求方法

HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。

最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。

请求地址

URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。

组成:<协议>://<主机>:<端口>/<路径>

端口和路径有时可以省略(HTTP默认端口号是80)

协议版本

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2、headerss

常见请求头如下:

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要,必不可少。

3、body

get请求一般没有body。post请求会有。

http请求实例

http响应

  • 状态行
  • headers
  • body

1、状态行

由3部分组成,分别为:协议版本,状态码,状态码描述。

其中协议版本与请求报文一致,状态码描述是对状态码的简单描述,所以这里就只介绍状态码。

状态码

状态代码为3位数字。
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。

下面列举几个常见的:

 

2、headers

常见响应头部如下:

 

3、body

不是所有响应都有body,具有状态码(比如201或204)的响应,通常不会有body

http响应实例

最新文章

  1. java 调用 sql server存储过程
  2. js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
  3. MFC MDI 获取当前视图
  4. Intellij idea安装设置
  5. The Reflection And Amplification Attacks &amp;&amp; NTP Reply Flood Attack Based On NTP
  6. spring定时任务的配置
  7. vojis1523 NOI2002 贪吃的九头龙
  8. java,spring,tomcat,跨域设置
  9. ASP.NET(支持 ASP.NET MVC)性能优化包 - combres 介绍
  10. linux下合并pdf
  11. Java 9 揭秘(11. Java Shell)
  12. 用户信息文件/etc/passwd,影子文件/etc/shadow,组信息文件/etc/group,组密码文件/etc/gshadow,用户管理相关文件
  13. 详解Linux下swig 3.0.12的手动安装过程
  14. Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
  15. Python中的迭代器、生成器
  16. centos7环境安装ElasticSearch
  17. 一个简易的netty udp服务端
  18. 第k大元素
  19. python简说(十八)导入模块
  20. JQuery攻略(二) Jquery手册

热门文章

  1. bzoj1050题解
  2. Hbase表类型的设计
  3. BZOJ 4516: [Sdoi2016]生成魔咒(后缀数组)
  4. codeforces 447E or 446C 线段树 + fib性质或二次剩余性质
  5. Java-Class-I:javax.servlet.http.HttpServletRequest
  6. 利用Pycharm断点调试Python程序
  7. 1010 Radix (25 分)
  8. 安装jdk 并放在 /usr/java/default 目录下
  9. js进阶之路,关于UI资源的优化(转载)
  10. 2018-2-13-win10-uwp-让焦点在点击在页面空白处时回到textbox中