2010-04-20 16 views

回答

2

它並沒有真正告訴瀏覽器不緩存它 - 瀏覽器緩存單獨的每個查詢字符串,所以如果下一個請求是rails.js 9283482934,這是需要一個新的網址是什麼?從服務器請求。

它可以讓你告訴瀏覽器緩存文件,但通過用新的數字更新html文件,你可以強制所有的客戶端瀏覽器下載新版本,而無需實際更改新的js文件。

使用該數字的原因是爲了讓客戶端緩存它,但也允許您強制更新 - 所以它不應該對性能產生負面影響。但是,如果以編程方式爲每個請求生成一個隨機數,則會強制所有客戶端始終請求該文件,從而有效地禁用該文件的緩存。

8

該數字是該文件的最後修改時間,以自Unix時代以來的秒數(如果您在UNIX中運行stat -c "%Y" javascripts/rails.js,則會得到與腳本標記中附加的數字相同的數字)。該號碼將在您下次修改文件時發生變化。

它的作用是告訴你的瀏覽器它可以可以緩存該JavaScript文件,並保持使用緩存的版本,直到你修改文件,從而改變數字。