HTTP协议

不同角色眼中的接口

不同视角的接口
  1. 开发眼中的接口

    模块与模块之间的对接方式定义

  2. 测试眼中的接口

    可以独立部署成服务的协议接口

    常见的接口协议
  3. HTTP 超文本传输协议
  4. HTTPS 安全超文本传输协议
  5. FTP 文件传输协议
  6. TCP 网络控制协议
  7. IP 互联网协议
  8. UDP 用户数据协议
http协议栈中的位置
http协议响应码

每一个响应码都对应了一种服务器的响应状态
1xx:信息响应类,表示接收到请求并且继续处理(中间状态)
2xx:处理成功响应类,表示动作被成功接受、理解和接受
3xx:重定向响应类,为了完成指定的动作,必须接受一步处理
4xx:客户端错误,客户端请求包含语法错误或者是不能正确执行
5xx: 服务端错误,服务器不能正确执行一个正确的请求。

http协议响应模型:一次请求的生命周期或简单的软件分层

场景:登录

  1. 客户端发起请求到api接口层
    1.1 用户在客户端填写用户名和密码,点击登录,发送请求
  2. api接收到客户端发起的用户请求
    2.1 api对业务逻辑进行验证
    2.1.1 验证用户名和密码是否合法
        + 比如:用户名要求必须为真实手机号码
        + 如果验证失败,需要给客户端返回响应码
        比如码值为1,2,3
        1 代表用户名格式错误
        2 代表用户名或密码错误
        3 代表密码格式错误
  3. api会将用户输入的数据发给db层
    Create、Read、Update、Delete(基本不用)
    select * from user where userName = ‘’ and password = ‘’;
    3.1 数据库查询成功则返回1,失败则返回0
  4. DB会将返回的查询数据库的条目数给api
  5. api返回成功或失败的状态码给客户端
  6. 客户端将返回信息提示给用户

一、 客户端
功能测试、性能测试、自动化测试

二、 接口层
接口测试,功能测试、性能测试、自动化测试

三、 数据库层
可以将开发人员使用到的sql语句单独拿出来进行性能测试

常用的http协议的请求方式

HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式

  1. OPIONS
    返回服务器针对特定资源所支持的HTTP请求方法,也可以利用web服务器发送“ * ”的请求来测试服务器的功能性
  2. HEAD
    向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应消息头中元信息。
  3. GET
    http://127.0.0.1:8080?username=blue&pwd=123
    向特定的资源发出请求。
    注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web APplication中,其中一个原因是GET可能会被网络蜘蛛等随意访问。
  4. POST
    http://127.0.0.1:8080
    向指定资源提交数据进行处理请求(例如提交表当或者上传文件)。
    数据被包含在请求体中。
    POST请求可能会导致新的资源的建立和/或已有的资源的修改。
    post请求的参数在请求体里
    请求体 {
    [
        'username' : 'blue',
        'pwd'      : '123'
    ]
    }
  5. PUT
    向指定资源位置上传其最新的内容
  6. DELETE
    请求服务器删除Request-URL所标识的资源
  7. TRACE
    回显服务器收到的请求,主要用于测试或诊断
  8. CONNECT
    HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    注意:
    1) 方法名称是区分大小写的,
    当某个服务器所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码 405(Method Not Allowed)
    当服务器不认识或者不支持对应的请求方法时,应当返回状态码 501(Not Implemented)
    2) HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的
    JMeter的功能介绍
    一、 BS架构应用性能

二、 HTTP协议接口功能与性能

三、 FTP协议接口功能与性能


一、 Mysql数据库性能

二、 MongoDB数据库性能

三、 支持自定义java组件开发

NODE基础

  • npm包管理
  • node基础API
  • 基于node搭建一个简单的后台服务

    AJAX及库的封装

  • AJAX基础知识
  • 基于Promise分装ajax库
  • axios
  • fetch

内网IP(局域网)

  1. 在一个区域内,大家连接的是同一个网络(准确来说:连接同一个WIFI不一定是同一个网络,连接不同WIFI也可能是相同的网络,一切都看路由交换机的配置),这就是局域网。
  2. 在同一个局域网下,成员可以相互访问(你的电脑连接了A网络,手机也连接了A网络,那么手机可以访问电脑上的一些信息了 =》 这样可以做移动开发时候的手机联调)
  3. IPv4地址、子网掩码、DNS服务器这三个比较重要

    子网掩码和DNS相同,IP地址类似,而且都是在相同一个区域下,这样一般情况下都是同一个局域网了。

DNS(Domain Name System, 域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库(域名解析成功会在DNS系统中记录一条信息,“www.xxx.com xxx.xxx.xx.xxx” 保证以后访问域名,可以直接找到外网IP,通过外网IP访问到服务器)

Hbuilder也提供了联调的功能(代码加断点,手机访问,程序会走断点)