文章專區

網頁程式技術探討

瀏覽器快取/緩存技術-HTTP Cache-網站快取加速

  本站先前介紹了"初識網站快取加速"與"代理/Proxy快取伺服器"後,本次將要說明的為"瀏覽器快取/緩存(HTTP Cache)",它幾乎是每個有瀏覽網站的人,都使用過的快取應用技術,但卻是一般人比較不會瞭解到的快取應用技術!不被瞭解的原因在於,一般使用者在使用時只會感受瀏覽器的流暢度,卻不知道瀏覽器其中已經運用了快取的對應技術,所以更加不可能知道瀏覽器的快取技術其實是運用了使用者本機記憶體作為對應進行。

 

  瀏覽器的快取功能,主要是透過首次讀取網站頁面時,由瀏覽器產生一個"快取/緩存過期時間(max-age)"及"文件編輯/修改時間(last-modified-time)",在根據造訪伺服器實際網站內容來進行讀取工作,進而儲存快取/緩存資訊至使用者的本機記憶體中;當使用者再次查看相同網站時,瀏覽器會先透過第一次造訪所產生的"快取/緩存過期時間"來比對快取/緩存的資料是否"過期",若比對後沒有過期,瀏覽器就不再造訪伺服器,直接運用第一次造訪時所儲存的快取資料來呈現網站,便能省去重新呼叫伺服器和重新讀取資訊的動作與時間,達到節省流量且快速呈現的快取/緩存功能。若是真的遇到"快取/緩存過期時間",瀏覽器便會重新呼叫伺服器,透過"文件編輯/修改時間"與伺服器端資料進行比對,確認在過期這段時間中,是否有檔案有遭變更修改過,假設並沒有任何變動,瀏覽器便將會直接使用第一次造訪時的快取/緩存資訊來直接呈現,省下重新讀取的時間,此動作稱為"協議快取/緩存";如果在比對中發現有變更的檔案內容,便能針對個別單一誤差檔案進行重新讀取且更新的動作,省去重新讀取整個網站全部內容的冗長時間。

 

  瞭解了瀏覽器快取技術的運用原理後,我們進而可以得知,其技術是透過瀏覽器將快取資料儲存在瀏覽者本機記憶體當中,此技術能有效達到節省流量與快速呈現網站的好處,但卻也可能造成使用者瀏覽過多網站後的過多快取資訊及快取資訊尚未過期而未能即時對應網站修改更新的問題,針對這部分衍伸問題的對應處理辦法將於下回討論中進行分享。