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


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

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

    HTTP 请求/响应的步骤:

    1、客户端连接到Web服务器

    2、发送HTTP请求

    3、服务器接受请求并返回HTTP响应

    4、释放连接TCP连接

    5、客户端浏览器解析HTML内容

    HTTP请求

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

    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

  • 相关阅读:
    自动化测试成功11333
    自动化测试成功11222
    自动化测试成功1111
    自动化测试成功112
    自动化测试成功18
    自动化测试成功1
    自动化测试成功
    富文本测试
    关于VMware虚拟机磁盘收缩的几种方法
    8个让你更有效率的简单方法
  • 原文地址:https://www.cnblogs.com/leiziv5/p/9185848.html
Copyright © 2020-2023  润新知