我正在开发一个 Web 应用程序,其中开发环境从本地 Web 服务器加载大约 500 个 js 文件(我已经尝试过 IIS 和 apache)。这些文件在产品中进行了优化,但对于开发来说,这就是我们所拥有的。我知道还有其他策略选项可能会避免加载如此多的 js 文件,但这目前不在我的控制范围内。我想做的是加快这些请求的速度。我是否疯狂地认为每个请求只需要 10 毫秒,因此整个请求可能需要 5 秒(10 毫秒 * 500 个请求)?目前 Chrome 和 Firefox 都报告这些请求大约需要 100 毫秒(即使对于 304 也是如此)。
我将其简化为最小公分母并创建了一个 1 行 js 文件。我通过 Firefox 和 chrome 向该文件发出请求,每次报告都需要 >100 毫秒。但奇怪的是,当我从 curl 发出相同的请求时,只需要 5 毫秒左右:
$ curl 'http://10.222.139.56:81/js/ben.js' -o /dev/null -w '%{time_total}'
0.005
什么给了?我认为旋度数是正确的吗?为什么 chrome 和 firefox 需要更长的时间?
最佳答案
我的猜测是,对于 Firefox 和 Chrome 加载的每个 js 文件,报告的时间包括文件的浏览器解析、缓存等。即使是单行文件也需要少量的工作来处理。 另一方面,curl 只是拉取内容并保存到磁盘或标准输出。该操作要快得多。
关于javascript - 为什么 chrome 和 firefox 在下载超小的 javascript 文件时比 curl 慢 10 倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993531/