2014-02-05 16 views
0

我遇到了很多具有樣式表或腳本的src鏈接參數的網站。在腳本或樣式標記源中查詢參數

例如:只是一個腳本我碰到在Udacity.com

<link rel="stylesheet" type="text/css" href="/media/css/udacity/udacity.min.css?4c3a5b9f8b6eeb75ed7b7d2160c259d5"> 

或者

<script type="text/javascript" src="/media/js/external/libs.min.js?4c3a5b9f8b6eeb75ed7b7d2160c259d5"></script> 

什麼字符串 「/udacity.min.css?」代表?

回答

4

cache-buster是一段獨特的代碼,可防止瀏覽器將已經看到並緩存或保存的文件重用到臨時內存文件。

它是緩存清除技術的一部分。參數?4c3a5b9f8b6eeb75ed7b7d2160c259d5指示查詢字符串。它將強制瀏覽器從服務器加載文件而不是緩存。

cache-buster的主要用途是,如果您修改了CSS或JS文件。您會希望使用修改後的文件而不是客戶端緩存中的緩存文件。

一個好的blog

+0

是否有必要在每個請求上傳遞不同的隨機字符串? – wdphd

+0

@wdphd,沒有它通常在修改文件時完成 – Satpal

0

它一般採用去除緩存。例如:如果您更改了css文件中的任何內容,某些瀏覽器會緩存舊內容,並且新更改不會傳播。爲了顯示新的更改,我們通過添加query string告訴瀏覽器該文件有一些新增內容。

因此,當添加query string時,瀏覽器立即知道這是新東西,因此呈現新內容,因此更改將被正確傳播並由瀏覽器默認顯示。