接口测试之基础篇--http协议

         概念:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为普遍的一种网络协议。全部的WWW文件都必须遵照这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP是客户端浏览器或其余程序与Web服务器之间的应用层通讯协议。 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议python

      HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行做为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。浏览器

HTTP 请求/响应的步骤:缓存

一、客户端链接到Web服务器服务器

二、发送HTTP请求微信

三、服务器接受请求并返回HTTP响应网络

四、释放链接TCP链接性能

五、客户端浏览器解析HTML内容测试

HTTP请求编码

 是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。url

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

 

当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,

  HTTP请求信息由3部分组成:

(1)请求方法URI协议/版本

      (2) 请求头(Request Header)

      (3) 请求正文

 

http请求方法

   GET 请求指定的页面信息,并返回实体主体。

   HEAD 相似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 

  POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会致使新的资源的创建和/或已有资源的修改。 

  PUT 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE 请求服务器删除指定的页面。 

  CONNECT HTTP/1.1协议中预留给可以将链接改成管道方式的代理服务器。

  OPTIONS 容许客户端查看服务器的性能。

  TRACE 回显服务器收到的请求,主要用于测试或诊断。

http请求头

   Accept: 浏览器可接受的MIME类型。

  Accept-Charset:浏览器可接受的字符集。

  Accept-Encoding:浏览器可以进行解码的数据编码方式,好比gzip。Servlet可以向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这能够减小5到10倍的下载时间。

  Accept-Language:浏览器所但愿的语言种类,当服务器可以提供一种以上的语言版本时要用到。

  Authorization:受权信息,一般出如今对服务器发送的WWW-Authenticate头的应答中。

  Content-Length:表示请求消息正文的长度。

  Host: 客户机经过这个头告诉服务器,想访问的主机名。Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,不然系统会以400状态码返回。

http响应

        Allow:服务器支持哪些请求方法(如GET、POST等)。

  Content-Encoding:文档的编码(Encode)方法。

  HTTP-Version表示支持的HTTP版本

  Status-Code是一个三个数字的结果代码

  Request Method 请求方式

  reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自动识别,

  Reason-Phrase主要用于帮助用户理解。

  Status-Code的第一个数字定义响应的类别,后两个数字没有分类的做用。

  1xx:信息响应类,表示接收到请求而且继续处理

  2xx:处理成功响应类,表示动做被成功接收、理解和接受

  3xx:重定向响应类,为了完成指定的动做,必须接受进一步处理

  4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

  5xx:服务端错误,服务器不能正确执行一个正确的请求

  Remote Address:终端ip

  Content-Length:表示内容长度

      Date:当前的GMT时间

  Expires:告诉浏览器把回送的资源缓存多长时间

  Last-Modified:文档的最后改动时间。

  Location:这个头配合302状态码使用,用于重定向接收者到一个新URI地址。

  Refresh:告诉浏览器隔多久刷新一次,以秒计。

  Server:服务器经过这个头告诉浏览器服务器的类型。Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识通常按照重要性排序。Servlet通常不设置这个值,而是由Web服务器本身设置。

  Set-Cookie:设置和页面关联的Cookie。Servlet不该使用response.setHeader(“Set-Cookie”, …),而是应使用HttpServletResponse提供的专用方法addCookie。

      Transfer-Encoding:告诉浏览器数据的传送格式。

  WWW-Authenticate:客户应该在Authorization头中提供什么类型的受权信息?

 

  新建python接口测试交流群 :651392041

       微信公众号不按期更新

  

 

        系列视频地址:http://v.qq.com/vplus/6797e52f56a39105a0b6c87bb849e22c

 

 

 

相关文章
相关标签/搜索