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 表单上需要上传文件的格式

              

  • 相关阅读:
    疫情环境下的网络学习笔记 python 5.8 数据库入门终章
    疫情环境下的网络学习笔记 python 5.7 navicat数据库,例题,sql注入
    疫情环境下的网络学习笔记 python 5.6 暂时看看
    疫情环境下的网络学习笔记 python 5.5 MYSql 表关系,外键
    疫情环境下的网络学习笔记 python 5.4 数据库基础
    疫情环境下的网络学习笔记 python 4.30 初识数据库
    疫情环境下的网络学习笔记 python 4.29 网络小项目
    XJOI 夏令营501-511测试11 游戏
    XJOI 夏令营501-511测试11 统计方案
    CF1197D Yet Another Subarray Problem
  • 原文地址:https://www.cnblogs.com/xiaoxionghuihui/p/13954100.html
Copyright © 2011-2022 走看看