回覆列表
  • 1 # 使用者2630990618568

    reload()方法用於重新載入當前文件。

    如果該方法沒有規定引數,或者引數是false,它就會用HTTP頭If-Modified-Since來檢測伺服器上的文件是否已改變。如果文件已改變,reload()會再次下載該文件。如果文件未改變,則該方法將從快取中裝載文件。這與使用者單擊瀏覽器的重新整理按鈕的效果是完全一樣的。

    我們都知道客戶端瀏覽器是有快取的,裡面存放之前訪問過的一些網頁檔案。

    其實快取裡儲存的不只是網頁檔案,還有伺服器發過來的該檔案的最後伺服器修改時間。

    If-Modified-Since是標準的HTTP請求頭標籤,在傳送HTTP請求時,把瀏覽器端快取頁面的最後修改時間一起發到伺服器去,伺服器會把這個時間與伺服器上實際檔案的最後修改時間進行比較。

    如果時間一致,那麼返回HTTP狀態碼304(不返回檔案內容),客戶端接到之後,就直接把本地快取檔案顯示到瀏覽器中。

    如果時間不一致,就返回HTTP狀態碼200和新的檔案內容,客戶端接到之後,會丟棄舊檔案,把新檔案快取起來,並顯示到瀏覽器中。

    我們知道JSP頁面最後都必須編譯成HTML檔案,你的JSP頁面

    時間每次請求的都不一樣,等於修改了檔案

    所以快取和伺服器的檔案的修改時間是不一致的,就會重新重新整理了

  • 中秋節和大豐收的關聯?
  • 羽毛球的傳說?