为什么在图像之后查询字符串; css文件?

时间:2012-07-09 15:12:55

标签: php asp.net asp.net-mvc-3 html5

我在各个网站上看到过一个查询字符串,后跟一个图像和css文件的数字。当我查看源代码(通过Chrome Developer)时,缓存的css文件和图像的名称中没有查询字符串中的数字。我还在网站上看到,当我刷新页面时,查询字符串中的数字会发生变化。

例如:

myimage.jpg?NUM = 12345

myStyles.css?NUM = 82943

刷新后:

myimage.jpg?NUM = 67948

myStyles.css?NUM = 62972

有人可以向我解释一下,这些查询字符串的目的可能是什么,而不是追踪?

3 个答案:

答案 0 :(得分:6)

开发人员经常使用带有随机数(或版本号)的查询字符串来强制浏览器请求新的副本并避免缓存这些文件,因为每次请求都不同。

因此,如果您有一个文件/image.png,但它是一个生成的图像,可能是验证码或其他东西,您可以使用随机数查询字符串/image.png?399532跟随它,浏览器不会将其image.png {从缓存中{1}},而是从服务器下载新的副本。

答案 1 :(得分:2)

  1. 防止缓存(每次更新文件时,查询字符串都可以提供唯一的URL,导致浏览器下载新副本而不从其缓存中加载过时的副本)
  2. 版本控制(类似于#1但具有更具体的目的)

答案 2 :(得分:0)

查询字符串用于控制它的版本强制导航器重新加载css和图像而不是使用缓存