加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – mvc 4捆绑和缩小 – 当我刷新时没有获得304(未

发布时间:2020-12-16 09:50:58 所属栏目:asp.Net 来源:网络整理
导读:我正在通过System.Web.Optimization尝试MVC 4 Beta的捆绑和缩小.当我点击刷新时,我希望我正在使用它的网站会收到304(未修改). 我认为src指向我的js包,/ desktop-js-bundle?v = D33JhbMl9LHkXSPBj1tfRkRI0lHeYVmbSMQqD59bXHg1(带有该版本#),只有当服务器上的
我正在通过System.Web.Optimization尝试MVC 4 Beta的捆绑和缩小.当我点击刷新时,我希望我正在使用它的网站会收到304(未修改).

我认为src指向我的js包,/ desktop-js-bundle?v = D33JhbMl9LHkXSPBj1tfRkRI0lHeYVmbSMQqD59bXHg1(带有该版本#),只有当服务器上的包中的一个文件被修改时,版本#才会改变.然而,每当我点击刷新并监控Chrome的F12中的网络选项卡时,它就会发出具有相同版本号的请求并获得200状态.

为什么它不会返回304 ?,这会减少负载并增加相应的数量.谢谢!

解决方法

Why doesn’t it just return 304?

因为当你点击F5时,你的浏览器缓存就会过期.基本上你的测试是有缺陷的.您应该在不同页面中放置此捆绑包的链接(使用< script>标记).然后,您应该使用超链接导航到这些页面.现在观察网络选项卡.

还要确保您在发布模式下运行.

更新:

好的,在挖了一点之后,我发现了什么.确实总是发送200 HTTP状态代码,这是正常的.但第二次从缓存中获取包.

这是第一个请求:

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

这是第二个请求:

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

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

对于第一个请求:

对于第二个请求:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读