JS:XHR 立即加载文件(>50MB)

JS: XHR loads files (>50MB) immediatly

我正在使用 Node.js 制作互联网速度测试应用程序。一切正常,期待下载测试。我通常以 8Mbits/s 的速度下载,但是当我尝试 XHR 在 /public/chunk/somefile.txt 请求文本文件/图像(大约 256 MByte)时,它会在 1 秒内下载它,这是不可能的。然后我查看了onprogress日志:

怎么加载图片这么快?我的意思是它没有缓存或任何东西。无论如何,这是代码:

const fileUrl= "/public/chunk/d.jpg";

xhr = new XMLHttpRequest();
xhr.onprogress = (e) => console.log(e, e.loaded - e.total);
xhr.onloadend = () => { console.log("end")};
xhr.open("GET", fileUrl, true);
xhr.setRequestHeader('Cache-Control','no-cache');
xhr.send();

BUT: 事情是这样的,如果我输入图像 url 例如: https://upload.wikimedia.org/wikipedia/commons/f/ff/Pizigani_1367_Chart_10MB.jpg 。有用!为什么?

请告诉我为什么它不起作用,我已经试了 5 个小时了。提前致谢。

如果您 运行 Web 服务器在本地计算机上,则传输速率不限于您所在地区的 ISP 提供的访问 WAN 的速率。

如果您使用同一本地网络中的另一台设备对其进行测试,50MB 可能算不了什么,并且会在半秒或更短的时间内完成传输。

  • 千兆 LAN 连接可以传输高达 125MB/s
  • 866MBit 的无线连接传输速度高达 108MB/s

根据硬件和网络设置,您可以在几秒钟内传输更大的文件,这可能会给您带来意想不到的速度测试结果。您可以使用浏览器的开发工具或插件来限制客户端的下载速度,如 .

中所述