zoukankan      html  css  js  c++  java
  • 关于http/https协议

    一、定义

    http协议,即超文本传输协议(Hypertext Transfer Protocol)。

    https协议,基于http协议,主要由两部分组成http + SSL_TLS。比http协议安全,能提高传输过程安全性。

    二、http协议与其他网络层

          tcp/ip五层网络模型(如图1)中,http协议位于应用层。http协议确定了服务器与客户端之间数据交换的方法及内容格式。

                        (图1)

    http协议是基于tcp协议的,就是说http请求要能成功被双方接收或响应,必须先成功建立tcp连接。在成功建立tcp连接后,http数据报文才能在客户端和服务器之间传输。

    三、http协议报文结构

          客户端与服务端之间通过交换http报文实现数据和信息交换,http请求报文与响应报文都有固定格式。接口自动化测试通过工具或代码构造http请求报文,以获得响应报文,通过分析响应报文,以判断测试是否通过。

    3.1 请求报文

          http请求报文格式(如图2):

              (图2)

          (1)请求行:方法、URL(统一资源定位符)、HTTP版本

          (2)请求首部(请求头):一系列“健”-“值”对。

          (3)请求实体(请求体):请求内容

            下面,对请求行、请求头、请求体中对接口自动化测试比较关键的部分进行分析。

             1、请求行

                 ~ http方法       

                 类似SQL语言增删改查操作数据,http协议有操作服务器数据的方法。

                  1.1. get方法,查询数据

                  1.2 post方法,提交数据

                  面向公众开放的软件中,一般只提供get和post方法。

                  1.3 put方法,更新数据

                  1.4 delete方法, 删除数据

                  还有其他的不常用方法,此处省略。

                 ~ http版本 

                  目前市面上大部分应用的是http1.1

              2、请求头

                   由一系列健-值对组成。其中比较重要的有:

                   User-Agent:发送请求客户端软硬件版本信息

                   Content-Type:说明请求正文格式

                   Cookie:缓存信息,如用户身份认证信息,也存放在cookie中

                   Referer: 指明从哪一个请求切换进入本请求,常用于反爬虫

                   Host: 主机名

              3、请求体:

                  一般包含服务器要求的参数信息

    3.2 响应报文

         响应报文格式如图(图3)所示:

           (图3)

           (1)状态行(响应行)

           (2)响应首部(响应头)

           (3)响应实体(响应体)

             ~ 响应行:

               响应行,声明了http版本、响应状态码、短语。

               1.1 响应状态码

                   1XX : 收到请求,需要请求者继续操作,不常用

                   2XX : 请求成功。常用的如200、201

                   3XX : 重定向。 常用如301永久跳转、302临时跳转

                   4XX : 请求出错,提示请求信息有误。常用400请求出错如语法协议,403无权限访问、404访问数据不存在,405不支持的方法

                   5XX : 服务器出错。常用如500服务器内部错误、503服务器宕机。

               1.2 短语。 对请求结果进行简要描述

             ~ 响应头

               一系列 “键”-“值”对。常用有:

              Content-Type : 响应正文的MIME格式

              Expires : 缓存过期时间

              Cache-control : 功能类似Expires,说明缓存过期时间

              Server : 服务器名称

             ~ 响应体

              返回的数据正文。

              常见格式Content-Type包括:

               text/html   html格式

               text/plain   纯文本格式

               text/xml     xml格式

            

               image/gif   gif图片

               image/jpeg  jpeg图片

               image/png  png图片

        

               application/json   json格式

               application/pdf    pdf格式

               application/octet-stream   二进制流形式

               application/x-www-form-urlencoded    form表单默认提交格式,会转换为key-value格式

               multipary/form-data 表单上需要上传文件的格式

              

  • 相关阅读:
    Docker Machine 管理-管理machine(17)
    Docker Machine 管理-创建machine(16)
    Docker Machine 管理-安装docker-machine(15)
    kvm无人值守安装centos6
    存储-docker volume 生命周期管理(14)
    存储-docker数据共享(13)
    存储-docker存储(12)
    网络-Docker 提供的几种原生网络和自定义网络(11)
    docker容器管理-含静态Ip(10)
    rocketmq单点部署
  • 原文地址:https://www.cnblogs.com/xiaoxionghuihui/p/13954100.html
Copyright © 2011-2022 走看看