2010-10-14 36 views

回答

10

要強制更新,如果它已經在瀏覽器緩存。 v可能是版本的簡稱。

7

要擴大Simon's correct answer ...

常以節省帶寬,樣式表(除其他站點資源)發送標頭的說,他們本應到期,從現在(通常爲一年)很長一段時間的瀏覽器。他們還發送304沒有修改標題。

這很好,但如果有人想更新樣式表呢?如果它被要求爲style.css,並且隨後的請求是style.css,那麼最終用戶將永遠不會重新下載它(反正不是一年)。

要解決這個問題,您可以附加一個查詢字符串,該字符串在文件執行時發生更改。例如,它可以很容易地在PHP

<?php 
    $file = 'style.css'; 
?> 

<style type="text/css" rel="stylesheet" href="<?php echo $file . '?v=' . filemtime($file); ?>" /> 

現在,當文件被更新,查詢字符串的變化,文件被重新下載到所有最終用戶完成。直到(a)到期時間到或(b)查詢字符串再次發生變化,它纔會再次下載。