测试网速
使用HTML5 API
navigator.connection(不是很准确),参考Navigatoe
img实现
在服务器存储一个1kb的图片,根据图片的加载时间来判定网络(不是很准确,存在建立HTT连接时间差等)
多普勒测速
分五次请求,计算公式如下:
- api?http1.0&t=1&size=0k
- api?http1.1&t=2&size=0k
- api?http1.1&t=3&size=0k
- api?http1.1&t=4&size=10k
- api?http1.1&t=5&size=40k
- T1=DNS+NEW Connection(TCP)+RTT(一次传输)
- T2 = New Connection(TCP) +RTT(一次传输)
- T3 = RTT(一次传输)
- 10k/(t4-t3)~TCP bandwidth
- 10k/(t4-t3)~TCP bandwidth
- (40k-10k)/(t5-t4)~TCP bandwidth
使用场景:如果客户端网速过慢,可以给用户一倍图,或者隐藏部分内容,只显示基础功能部分