• python接口自动化测试之http协议(一)


    1、http(超文本传输)协议:是一个基于请求与响应模式的、无状态的(不会记住每个请求的状态)、应用层协议

    2、url详解

    https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=http%E5%8D%8F%E8%AE%AE%E9%9D%A2%E8%AF%95%E9%A2%98%E5%9B%9E%E7%AD%94&oq=docker&rsv_pq=e37e8cd70026eaa6&rsv_t=4b4cUZ9m%2BHhijkArcEAgOlZFd%2BbRhOhRhOfuxxlAqD8ghkuUNlaDgOhbNNk&rqlang=cn&rsv_enter=0&rsv_dl=ts_0&inputT=9136&rsv_sug3=19&rsv_sug1=23&rsv_sug7=100&rsv_sug2=1&prefixsug=http%25E5%258D%258F%25E8%25AE%25AE&rsp=0&rsv_sug4=9137

      http/HTTPS:协议类型

      host:主机地址或域名

        --192.168.x.xx:8080 :地址+端口号

        --www.xxx.com:域名

        --localhost:8080 :localhost是本机地址  

      port:端口号

      path:请求的路径,资源存放的路径(host之后,问号?之前)

      ?:问号是分割符号

      参数:name=value

      &:多个参数用&隔开

    3、get和post的

      get请求:肯定没有请求body,请求参数放在问号?后面;从服务器上获取资源;请求参数在请求行里,可以在Webforms的QueryString查看

      

      post请求:有请求body(当然请求body也可以为空);向服务器发送数据;请求参数可以是请求行的参数QueryString+body(都可以为空)

        body参数的数据类型 Content-Type:application/x-www-form-urlencoded

        

         post的body常见的数据类型有5种,查看Content-Type里面的头部Content-Type

        第一种:application/json:{"key1":"value1","key2":"value2","key3":false}

        

        第二种:application/x-www-form-urlencoded:key1=xxx&key2=ooo&key3=false

        第三种:multipart/form-data:这是一种表单格式,一般出现在文件上传这种(不是文件上传也可以)

        

         

        第四种:text/xml(一般是用于webservice协议)

        第五种:Content-Type:octets/stream  下载文件

    4、请求方法

    http1.0定义了三种请求方式:get、post、和head方法

    http1.1新增了五种请求方法:options,put,delete,trace和connect方法

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

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

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

    put从客户端向服务器传送的数据取代指定的文档的内容

    delete请求服务器删除指定的页面

    ----------------------------------

    connect http1.1协议中预留给能够将连接改为管道方式的代理服务器

    options允许客户端查看服务器的性能

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

    5、request组成

    请求行、请求头部、空行和请求数据四部分

     请求头:

     Accept:浏览器可接受的媒体类型

    Accept-language:语言

    Accept-Encoding:编码格式

    User-Agent:客户端类型

    Cookie:身份认证

    Entity

    Content-Type:发送post的时候,body的数据类型声明

    6、response结果

    http响应也由四个部分组成:状态行、消息报头、空行、响应正文

     7、常用状态码

      200 OK//客户端请求成功

      400  Bad Request//客户端请求语法有错,不能被服务器所理解

      401 Unauthorized//请求未经授权,这个状态码必须和www-Authenticate报头域一起使用

      403 Forbidden//服务器收到请求,但是拒绝提供服务(权限问题)

      404 Not Found//请求资源不存在,eg:输入了错误的url

      500 Internal Server Error//服务器发生不可预知的错误

      503 Server Unavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常

  • 相关阅读:
    Redis Streams 学习资料整理
    js检测数据类型四种办法
    vue通信、传值的多种方式(详细)
    解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). hint: Please,
    C#策略模式运用,多角色折扣计算程序
    MYSQL8.0JSON函数
    Mybatis Plus 链式编程
    本地微服务调试——优化方案
    MYSQL8.0WINDOW函数
    Map集合基础03TreeMap
  • 原文地址:https://www.cnblogs.com/wulixia/p/12053212.html
Copyright © 2020-2023  润新知