javascript - 为什么 chrome 和 firefox 在下载超小的 javascript 文件时比 curl 慢 10 倍?

标签 javascript apache http iis web

我正在开发一个 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/

相关文章:

scala - 使用 Dispatch 执行简单的 HTTP GET

javascript - Extjs mvc 问题

javascript - 如何使用 Javascript 淡出一个元素

javascript - 为什么将对象键放在方括号中(不是解构)?

Apache CXF + JavaFX 未找到命名空间的管道启动器

linux - 当 apache 关闭时发送通知

java - 当出站流被远程故障中断时,Apache HTTPClient 忽略超时配置?

rest - 如何从 postman 中访问部署在云中的http服务?

javascript - 使用 angularjs 自动完成(无法获取输入值)

php - 如何通过 .htaccess 设置 PHP 包含路径?