2012-07-09 73 views
3

我在各種網站上看到一個查詢字符串後跟一個數字圖像和CSS文件。當我查看源代碼(通過Chrome Developer)時,緩存的css文件和圖像的名稱中沒有查詢字符串中的數字。我在刷新頁面時在查詢字符串中的數字更改的網站上也看到過。爲什麼在圖片和css文件後查詢字符串?

作爲例子:

myimage.jpg NUM = 12345

myStyles.css NUM = 82943

刷新後:???

myimage.jpg NUM = 67948

myStyles.css?num = 62972

任何人都可以向我解釋什麼這可能是這些querystrings缺乏跟蹤的目的?

+2

數量的變化,以防止緩存,因爲它會總是看起來像一個不同的文件。 – sachleen 2012-07-09 15:15:21

+0

可能重複[What'?'做一個Css鏈接?](http://stackoverflow.com/questions/438821/what-does-do-in-a-css-link) – 2012-07-09 15:15:43

回答

6

很多時候,開發人員使用與隨機數(或版本號)的查詢字符串,迫使瀏覽器請求一個新的副本,並避免這些文件的緩存,因爲請求每次都是不同的。

所以,如果你有一個文件/image.png但它是一個生成的圖像,像或許驗證碼什麼的,你可以用隨機數的查詢字符串/image.png?399532該瀏覽器會那麼不從它的緩存拉image.png遵循它,而是將從服務器下載新的副本。

2
  1. 防止緩存(查詢字符串可以每個文件更新時提供了一個獨特的URL導致瀏覽器下載一個新的副本,而不是從緩存中加載陳舊一個)
  2. 版本(類似於#1但更具體的目的)
0

查詢字符串是版本controling它強制導航器重新加載CSS和圖像,而不是使用緩存

相關問題