gpt4 book ai didi

asp.net-mvc-4 - mvc 4 bundle 和缩小 - 刷新时未获得 304(未修改)

转载 作者:行者123 更新时间:2023-12-01 02:36:51 26 4
gpt4 key购买 nike

我正在通过 System.Web.Optimization 尝试 MVC 4 Beta 的 bundle 和缩小.我希望我使用它的网站会收到 304 (Not Modified)当我点击刷新时。

我认为 src 指向我的 js 包,/desktop-js-bundle?v=D33JhbMl9LHkXSPBj1tfRkRI0lHeYVmbSMQqD59bXHg1 (使用该版本号),是版本号仅在服务器上的包中的一个文件被修改时才更改。然而,每次我点击刷新并监视 Chrome 的 F12 中的网络选项卡时,它都会发出具有相同版本号的请求并获得 200地位。

为什么它不只返回 304?,这会减少负载并增加性能。谢谢!

最佳答案

Why doesn't it just return 304?



因为当您按 F5 时,您的浏览器缓存就会过期。基本上你的测试是有缺陷的。你应该把这个包的链接放在不同的页面中(使用 <script> 标签)。然后您应该使用超链接导航到这些页面。现在观察 Network标签。

还要确保您在 Release模式下运行。

更新:

好的,在挖掘更多之后,这是我发现的。确实总是发送 200 HTTP 状态代码,这是正常的。但是第二次从缓存中获取包。

这是第一个请求:

enter image description here

我们可以看到,在这种情况下,bundle 来自带有 HTTP 缓存响应 header 的服务器。

这是第二个请求:

enter image description here

我们可以在第二个屏幕截图中清楚地看到,bundle 是从缓存中提供的。注意整条线是如何变灰的。 HTTP 200 状态代码是虚构的 => 客户端甚至不会向服务器发送 HTTP 请求,因为它直接从其缓存中检索包。

我可以在谷歌浏览器中观察到同样的事情。

对于第一个请求:

enter image description here

对于第二个请求:

enter image description here

关于asp.net-mvc-4 - mvc 4 bundle 和缩小 - 刷新时未获得 304(未修改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com