2009-02-11 92 views
13

如何檢查用戶緩存中的JavaScript文件?如果他刷新頁面或在某個時間之後訪問該網站。我無需再次下載該js文件。關閉網站後,js文件是否會清理乾淨?檢查瀏覽器的緩存是否爲js文件

+0

這個問題對無用點深感困惑,我不知道爲什麼它起了作用。首先你說,沒有解釋爲什麼,你想檢查瀏覽器是否有緩存文件(這是可能的,但只能通過計時攻擊;沒有API)。接下來你說你想知道這一點,以避免再次下載文件,但瀏覽器*爲你處理邏輯*如果你給它正確的標題,所以這種動機似乎沒有意義。最後,你問另一個無關和不清楚的問題,關於在一個網站「關閉」後js是否「清理乾淨」。咦? – 2015-02-15 21:27:22

回答

11

JavaScript文件是否被緩存取決於您的Web服務器的設置方式,用戶瀏覽器的設置方式以及服務器和用戶之間的HTTP代理服務器的設置方式。唯一可以控制的是你的服務器是如何設置的。

如果你想讓你的JavaScript被緩存的最佳機會,那麼你的服務器需要發送正確的HTTP頭與JavaScript文件。您的具體做法取決於您使用的Web服務器。

這裏有一些鏈接,可以幫助:

阿帕奇 - http://httpd.apache.org/docs/2.0/mod/mod_expires.html

IIS - http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0fc16fe7-be45-4033-a5aa-d7fda3c993ff.mspx?mfr=true

4

瀏覽器會自動照顧它有它自己的高速緩存。然而,您可以使用各種機制來控制它。

查找到各種HTTP緩存頭,如:

  • 上次修改
  • 過期
  • 的ETag

Expires頭是最關鍵的這些,當涉及到客戶端緩存。如果你設置了一個遠期的Expires頭文件(例如10年),瀏覽器不會(理論上)不再向服務器查找該文件。當然,當文件內容發生變化時,您需要一種更改文件名的方法。大多數人通過向文件路徑添加內部版本號來進行管理。

2

瀏覽器會照顧你的緩存。

緩存清空時部分取決於瀏覽器設置,部分取決於您發送的標題。如果您設置了Expires標頭,則瀏覽器在過期之前不應重新請求該文件。閱讀關於HTTP Headers可能會幫助你。

相關問題