prelink 预连接

百度App 11.26及以上版本开始支持prelink

prelink 简介

小程序首屏的渲染,通常依赖某个网络请求返回的数据,我们将这个请求定义为主请求。大部分情况下,主请求的速度提升,渲染速度也会随之提升。
所以,小程序框架提供了prelink机制,用于提前和业务服务器建立网络连接,使随后的主请求可以复用该连接,提升请求速度。

  • 使用prelink前后对比
    配置prelink前后对比

通过上面的对比可以看出,在配置了prelink时,框架会在加载业务代码app.js的同时发送一个预连接请求。在发送主请求时,可以直接复用该连接,达到减少主请求时长的目的。

如何使用 prelink

正确使用prelink,需要做以下两个操作:

1.在开发者平台配置prelink信息

  • 进入开发者平台,在【开发管理】的【设置】点击【开发设置】。
    配置1

  • 找到【prelink的合法地址】,点击【修改】。
    配置2

  • 在弹出的窗口中,找到【prelink的合法地址】,输入prelink地址后点击【保存并提交】。
    配置3

  • 该接口的域名需要在request合法域名的名单内。

  • 支持配置多个预连接接口,对不同域名发起预连接。

  • 优先设置核心业务(如 请求最频繁、功能最重要)相同域名的接口。

  • 域名相同的接口只需要配置一个,如 https://demo.com/getListhttps://demo.com/getPage只需保留一个。

  • 该接口需要支持HEAD请求,其他规则(如域名校验、UA、REFERER 等)和 request 保持一致。

  • 该接口的响应速度和稳定性均会影响prelink的效果,为了尽可能的减少预连接请求的响应时长,建议配置静态接口,并保证接口的稳定性。

常见问题及实例

错误提示文案说明
prelink域名必须存在于服务request域名中,请检查服务器request域名配置配置prelink前,需先配置服务器域名,如服务器域名配置https://www.baidu.com
prelink配置https://www.baidu.com/smartapp
prelink地址访问不通请求prelink地址后,3秒未获得响应
prelink地址访问错误请求prelink地址后http状态码为4xx或5xx,检查地址是否支持head请求

2.在小程序业务代码中,尽可能前置需要复用预创建连接的请求(一般为核心业务请求)。

如何测试 prelink

在百度 App 中,提供了prelink的测试工具,用于开发者验证配置的正确性,开发者可以用“小程序预览包”参照下图中的流程进行测试验证。

小程序线上版本不会显示性能面板

prelink 预连接 - 图5

prelink 预连接 - 图6

prelink 预连接 - 图7

prelink 预连接 - 图8

prelink 预连接 - 图9