从HTTP层面观察离线包的行为(4):fallback

若在某些情况下(例如,离线包本地验签失败),H5 容器无法从本地获取所需的资源,会转而从线上地址获取这些资源。基本过程如下:

  1. 客户端向 MDS 服务端发送请求,请求中携带了本地已有的 H5 App 的 ID 和本地的版本号。
  2. 服务端返回该离线包的相关信息(如果存在)。
  3. 客户端根据返回信息中的 Package URL下载配置参数,主动去下载离线包的 amr 文件。
  4. 客户端由于某些原因在本地获取离线包资源失败,则根据返回信息中的 fallback base URL 去线上(CDN)加载 H5 App 的应用资源(HTML/JS/CSS 等文件,不是 amr 文件)。

操作步骤

  1. 客户端正确获取到离线包信息,下载 amr 文件成功。
    下载arm成功

  2. 客户端从 fallback 地址上下载 H5 应用资源。
    下载H5应用资源

Fallback模式日志样本:3-offline-package-fallback-example.chls.zip