1. 程式人生 > >web瀏覽器快取相關

web瀏覽器快取相關

http狀態碼

200 from memory cache

不訪問伺服器,直接讀快取,從記憶體中讀取快取。此時的資料時快取到記憶體中的,當kill程序後,也就是瀏覽器關閉以後,資料將不存在。

但是這種方式只能快取派生資源

200 from disk cache

不訪問伺服器,直接讀快取,從磁碟中讀取快取,當kill程序時,資料還是存在。

這種方式也只能快取派生資源

304 Not Modified

訪問伺服器,發現數據沒有

更新,伺服器返回此狀態碼。然後從快取中讀取資料。

但是這裡有困惑,怎麼判斷from memory cache還是304

三級快取原理

1. 先去記憶體看,如果有,直接載入

2. 如果記憶體沒有,擇取硬盤獲取,如果有直接載入

3. 如果硬碟也沒有,那麼就進行網路請求

4. 載入到的資源快取到硬碟和記憶體

所以我們可以來解釋這個現象

圖片為例:

訪問-> 200 -> 退出瀏覽器

再進來-> 200(from disk cache) -> 重新整理 -> 200(from memory cache)

http header

max-age

web中的檔案被使用者訪問(請求)後的存活時間,是個相對的值,相對Request_time(請求時間)

Expires

Expires指定的時間根據伺服器配置可能有兩種:

1. 檔案最後訪問時間

2. 檔案絕對修改時間

如果max-age和Expires同時存在,則被Cache-Control的max-age覆蓋

last-modified

WEB 伺服器認為物件的最後修改時間,比如檔案的最後修改時間,動態頁面的最後產生時間

ETag

物件(比如URL)的標誌值,就一個物件而言,檔案被修改,Etag也會修改

Cache-Control

簡單理解,強快取

最後結論

見圖片(來源自網路)

相關推薦

web瀏覽器快取相關

http狀態碼 200 from memory cache 不訪問伺服器,直接讀快取,從記憶體中讀取快取。此時的資料時快取到記憶體中的,當kill程序後,也就是瀏覽器關閉以後,資料將不存在。 但是這種方式只能快取派生資源 200 from disk cache

瀏覽器快取相關

瀏覽器快取問題: 簡單來說,瀏覽器快取就是把一個已經請求過的Web資源(如html頁面,圖片,js,資料等)拷貝一份副本儲存在瀏覽器中。快取會根據進來的請求儲存輸出內容的副本。當下一個請求來到的時候,如果是相同的URL,快取會根據快取機制決定是直接使用副本響應訪問請求,

Nginx作為靜態資源web服務_瀏覽器快取場景演示

Nginx作為靜態資源web服務_瀏覽器快取場景演示 1、expires過期時間語法 Nginx在響應頭中新增:Cache-Control、Expires頭 Syntax: expires [modified] time;e

Nginx作為靜態資源web服務_瀏覽器快取

Nginx作為靜態資源web服務_瀏覽器快取 1、瀏覽器快取     HTTP協議定義的快取機制(如:Expire;Cache-control等) 2、瀏覽器無快取場景圖      3、瀏覽器有快取場景圖   &

【Nginx】第十一節 應用場景之靜態資源WEB服務之瀏覽器快取及實現

author:咔咔 wechat:fangkangfk   瀏覽器快取: HTTP協議定義的快取機制(如:Expires;Cache-control等)   瀏覽器無快取: 請求步驟   瀏覽器有快取: 請求步驟

Web快取相關知識

一.前端快取概述: 1.前端快取主要是分為HTTP快取和瀏覽器快取。 2.兩種快取: (1)HTTP快取是在HTTP請求傳輸時用到的快取,主要在伺服器程式碼上設定; (2)瀏覽器快取則主要由前端開發在前端js上進行設定。 二.前端快取分類: 1.HTTP快取:

前端採用SeaJs模組化程式設計,處理web專案版本迭代每次都清空瀏覽器快取問題

1.首先定製規則,業務程式碼開發的js我的在app0資料夾下,第三方的js在common資料夾下  2.引入seaJs相關的js檔案,實現模組化程式設計 <script language="ja

web快取瀏覽器快取淺析

什麼是web快取 所謂快取就是再copy一份資料的副本(可能是html頁面,圖片,檔案),根據副本的存放位置不同,又可分為不同的快取策略,比如瀏覽器快取,就是將檔案儲存再客戶端,再訪問相同的URL時首先檢查副本是否時最新的,如果足夠新的話,直接使用副本,不會再請求伺

web app禁用手機瀏覽器快取

最近做移動端開發碰到這煩人的事情,JS或CSS程式碼改變,可手機瀏覽器怎麼重新整理都不更新,手機瀏覽器的快取特別惡劣。   所以今天貼個方法解決這問題。記得,本地除錯的時候貼上,上線後要刪除哦,免得

Web專案中,清理瀏覽器快取的幾種方式

在B/S架構的專案中,訪問web專案時,往往需要清理瀏覽器的快取資料,js ,css 等等。 //方法1:在引用的js ,css ,圖片,等檔案的url 處加一個變數,生成一個隨機數字 <script type="text/javascript" src="<

最常被遺忘的 Web 效能優化:瀏覽器快取

一提起快取, Web開發者們總是在想資料庫快取、頁面靜態化、使用 Redis記憶體快取。這些方法都有一個共性,就是集中在後臺,目的就是加快資料的讀取,少用比較容易產生瓶頸的部分。 後臺該優化的都優化到了最佳狀態,卻往往疏忽了一個非常重要的過程,就是資料傳輸。想著如何快速

web效能優化:詳說瀏覽器快取

TOC 背景瀏覽器的總流程圖一步一步說快取 樸素的靜態伺服器設定快取超時時間html5 Application CacheLast-Modified/If-Modified-SinceEtag/If-None-Match 什麼是Etag為什麼有了Last-Modified

Web緩存機制系列】2 – Web瀏覽器的緩存機制-(新鮮度 校驗值)

logs 決定 transfer action n-n clas 響應頭 正常 text Web緩存的工作原理 所有的緩存都是基於一套規則來幫助他們決定什麽時候使用緩存中的副本提供服務(假設有副本可用的情況下,未被銷毀回收或者未被刪除修改)。這些規則有的在協議中有定義(

Linux終端Web瀏覽器w3m

編輯圖片 前行 輸入 ctrl+s 前臺 提交 上一個 運行 entos w3m是一個基於文本的網頁瀏覽器,支持多種操作系統,在命令行終端可以很好的支持中文。即使在沒有鼠標支持的情況下也可以檢查網頁的輸出。以下列出常用的快捷鍵。 1、安裝w3m 1.1、CentOS Cen

Golang內建庫學習筆記(2)-web服務器相關

c中 issue hook col err orm 服務器 srv per package main import ( "net/http" "fmt" "strings" "log" ) func sayHelloName(w htt

圖解瀏覽器快取,教你提高使用者體驗

歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~ 本文由前端林子發表於雲+社群專欄 瀏覽器快取,是瀏覽器端儲存資料,用於快速讀取或避免重複資源請求的優化機制,有效的快取使用可以避免重複的網路請求和加快頁面速度,從而提高使用者體驗。 一 強快取 1.1 區分Expires和

精簡版web瀏覽器

title edate checked url args 工具欄 menubar 其他 trac import javax.swing.JFrame; import javax.swing.JEditorPane; import javax.swing.event.Hyp

解決瀏覽器快取問題

瀏覽器的快取是基於修改時間的,當瀏覽器快取了目標資源但不確定該快取資源是否是最新版本的時候,就會發送一個條件請求,攜帶一個If-Modified-Since請求頭,其值為伺服器上次返回的Last-Modified響應頭中的日期值。伺服器收到後會和當前檔案的Last-Modified做比較,如

WPF:WebBrowser提示 為幫助保護你的安全,您的Web瀏覽器已經限制此檔案顯示可能訪問您的計算機的活動內容

原文: WPF:WebBrowser提示 為幫助保護你的安全,您的Web瀏覽器已經限制此檔案顯示可能訪問您的計算機的活動內容 RT,近日使用百度地圖API,需要在本地做一個html檔案承載,載入本地檔案時出現該異常,百度了一下,搜到一個適用於IIS的方案 1.將檔案放入IIS,使用網路路徑

ajax請求與瀏覽器快取

在現代Web應用程式中,前端程式碼充斥著大量的Ajax請求,如果對於Ajax請求可以使用瀏覽器快取,那麼可以顯著地減少網路請求,提高程式響應速度。 1. Ajax Request 使用jQuery框架可以很方便的進行Ajax請求,示例程式碼如下: 1 $.ajax({ 2 url