png图像路径后这些数字意味着什么?

时间:2012-06-03 18:53:15

标签: html css png

我在两个网站上看到过遵循CSS规则

/* First example */
background: #F8F8F8 url('/images/noise.png?1333540701') top left;
/* Second example from a different site */
background: #F8F8F8 url('/images/noise.png?1326131369') top left; 

png图像路径后*.png?randomNumbers的含义是什么?他们在这里服务的目的是什么?

第一个来自bastsov,另一个来自Matt Gemmell。两者都使用Octopress框架。

修改 并不是两个规则都在同一个站点上使用。每条规则都来自不同的网站。

此外,只要提到noise.png,它们似乎在任何地方使用相同的数字。例如,

/* rule for navigation bar */
background: url('/images/noise.png?1333540701'),linear-gradient(#E0E0E0,#CCC,#B0B0B0)
/* rule for #main */
background: #F2F2F2 url('/images/noise.png?1333540701') top left;

我观察到相同的模式,但在Matt Gemmell的网站上有不同的数字。

3 个答案:

答案 0 :(得分:5)

很可能这是对图像进行版本化的一种方式,因为它们可能是缓存图像。这样,如果图像被更新,他们可以更改数字以避免获得较旧的缓存图像。

答案 1 :(得分:3)

随机数是发送到图像路径的GET请求。由于图像只是一个静态资源,因此除了从URL传递参数外,什么都不应该改变。

浏览器缓存图像以加快页面加载速度,但如果更改图像的URL,浏览器将重新下载图像。似乎noise.png每次都需要重新加载。

答案 2 :(得分:3)

该数字只是发送到服务器以获取图像的URL的一部分。

这样做有两个常见原因:

  • 服务器上的资源不是静态文件,它由代码处理,并根据数量返回不同的图像。
  • 服务器忽略该号码,它仅用于生成不同的URL。这通常是出于缓存原因,因此更改数字将强制向服务器发出新请求。

在这种情况下,第二个原因似乎更有可能。当使用查询字符串返回不同的图像时,资源名称通常更通用。