2012-06-03 72 views
2

我已經看到在兩個網站這些數字在png圖像路徑之後意味着什麼?

/* 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?randomNumbers png圖片路徑後,下面的CSS規則?他們在這裏的目的是什麼?

第一個來自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

該數字只是發送到服務器以獲取圖像的URL的一部分。

有這樣做的兩個常見原因:

  • 服務器上的資源是不是一個靜態的文件,它是由代碼來處理,並返回取決於許多不同的圖像。
  • 該號碼被服務器忽略,它只用於生成不同的URL。這通常是爲了緩存的原因,所以更改數字會強制一個新的請求到服務器。

在這種情況下,第二個原因似乎更有可能。當查詢字符串用於返回不同的圖像時,資源名稱通常更通用。

5

最有可能的方式是版本的圖像,因爲他們可能緩存圖像。這樣,如果圖像更新,他們可以更改數字,以避免獲得較舊的緩存圖像。

3

隨機數是發送到圖像路徑的GET請求。由於圖像只是一個靜態資源,因此當您將其參數傳遞給它的URL之外時,不應該改變它。

瀏覽器緩存圖像以加快頁面加載速度,但如果更改圖像的URL,瀏覽器會重新下載圖像。似乎每次都需要重新加載noise.png