1)httprtt:
httprtt(http Round-Trip Time)又名TTFB(Time to first byte),指从客户端请求的第一个字节开始发送到接收到http header的第一个字节的时间差。httprtt的时间如果过长,一方面是客户端本身接入网络质量的问题,另一方面是服务的延时比较大。
4)signal strength:
signal strength,这里指的是无线信号强度,在Android上可以通过PhoneStateListener的onSignalStrengthsChanged方法获取到信号强弱,但要注意只能在Android M以上的版本才生效。iOS上暂时没有靠谱的实现。
1)第一阶段,线下进行测试:获取一些符合我们预期的阈值,这个时候我们需要借助一些网络测试工具,比如苹果的Network Link Conditioner,Facebook的ATC(Augmented Traffic Control),来获取到线下不同网络情况的阈值,一般我们会测试App冷启动的场景,网络切换的场景,DNS故障场景,弱网场景(一般都是配置上下行的带宽,丢包率,延迟,DNS延迟参数,或者更为简单的是使用工具默认的一些弱网配置)。
如上图QUIC部分所示,QUIC的升降级依赖于HTTP Alternative Services,HTTP Alternative Services是与HTTP有关的一个协议,它不是为QUIC专门设计的,在HTTP协议上主要负责新服务的替换,对于HTTP1.1协议,它是通过HTTP响应头传输回来的,所以只能在第二次请求时生效,如下面格式。