如果在页面上包含两次(或更多)外部包含的文件(例如JavaScript或CSS),是否会有两个(或更多)Web请求?

Jon*_*Jon 3 html browser performance caching http

让我们说因为有条件的评论或者只是粗心大意,一些浏览器甚至所有浏览器的用户都会看到相同的包含文件.例如:

<!--[if lte IE 8]>
     <script src="mygreatincludefile.js" type="text/javascript"></script>
<![endif]-->

<!--[if lte IE 6]>
     <script src="mygreatincludefile.js" type="text/javascript"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

当呈现页面时,浏览器会知道不再费心去抓取该文件,或者它会发出请求,浏览器将返回304(未修改).最好的情况似乎是第一种,可接受的情况似乎是第二种选择,而最坏的情况是因为浏览器不知道它刚刚抓住了这个新的请求.

您是否亲身体验过这类事情?你期望发生什么?你观察到了什么?我是否应该不担心这一点并打击那个做到这一点的人,记住它可能是我?

And*_*ore 6

该文件应该在大多数用户代理(包括IE)中获取一次,但在JavaScript的情况下,代码将被执行两次.最好的例子是<img>标签.图像将加载一次,但可以多次使用.

至于你的例子.两次做同样的操作似乎是徒劳的.您基本上是在说"如果小于或等于IE8",则继续加载相同的文件"如果小于或等于IE6",如果它触发了第一条规则,它将自动加载.