Request 加上參數避免快取(cache)

有時候會在 HTML 引入的 CSS、JS 檔案路徑上看到用 ? 來加上參數,例如:

<script type=”text/javascript” src="main.js?v=20120101"></script>

<link type="text/css" rel="stylesheet" href="main.css?v=20120101">

這個參數的用處在於:
有時候雖然修改了檔案,但是因為瀏覽器會依網址判斷檔案是否有快取 cache,而去取用了未修改版本的檔案快取。
但對伺服器而言,多丟一個沒用的參數並不影響,會跟沒參數一樣去抓檔案。
所以如果參數不同的話就可以避免瀏覽器 cache 導致沒有更新:

src="main.js?v=20120101"
src="main.js?v=20120102"

這兩個 src 用來表示版本的 v 參數不一樣,所以瀏覽器就不會因為下載過了

v=20120101

而不去下載

v=20120102

這樣就可以避免用戶端可能產生的快取問題。

不過如果沒有修改的話,允許快取效能會更好~

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s