我的页面从 https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js 加载 jQuery
在重复加载时,在 chrome 开发工具网络选项卡中查看 jquery.min.js,我看到 jquery.min.js 的返回状态为“304 Not Modified”,时间/延迟有时长达一秒。
我还可以在 devtools 中看到 jquery 的响应 header 是 'Expires:Thu, 31 Dec 2037 23:55:55 GMT' ,但它仍然返回 304
对于我网站的其他文件,例如 cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js ,我看到返回状态为“200 OK”和“(来自缓存)”尺寸较小,并且它们的延迟/时间超短(我猜这意味着 100% 缓存结果,没有远程往返)
如何告诉浏览器缓存中是否存在 jquery url,以便在没有任何远程流量的情况下使用它?我的网站需要尽可能快的加载时间。
谢谢!
最佳答案
使用 F5 刷新将始终向 Web 服务器发出所有资源的请求 - 尽管其中大多数将返回 304。
这是设计使然,是一件好事 - 用户通常不应该手动刷新页面,如果他们这样做,那么您应该给他们机会获取更新的资源。
我建议通过打开 Fiddler 进行测试(只是为了避免在 Chrome 开发工具中查看缓存响应的噪音),并像普通用户一样操作,看看在正常用户 session 期间实际发生了多少 HTTP 流量,以看看是否有什么你真的可以调整的。
关于javascript - 加载 jquery - 阻止 CDN 服务器往返,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144839/