国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

動態頁面的瀏覽器緩存

開發 后端
我們知道,對于WEB頁面中的JS和CCS,并不會每次都請求完整的內容,有時候會直接利用本地的緩存;而對頁面本身,卻往往會去加載完整內容,對于服務器來說可能每次也要生成完整的內容,并送到客戶端;

我們知道,對于WEB頁面中的JS和CCS,并不會每次都請求完整的內容,有時候會直接利用本地的緩存;而對頁面本身,卻往往會去加載完整內容,對于服務器來說可能每次也要生成完整的內容,并送到客戶端;同樣的,對于一些http接口,每次調用也會去重新生成數據,瀏覽器也會重新加載完整的數據;

但有這樣一些頁面,雖然是動態的但變動頻率較小,且對于同一用戶重復調用可能很多(比如說個人管理后臺或者新聞首頁面),我們希望像js或者ccs那樣在客戶端緩存起來.并且,在我們希望的時候,可以更新客戶端備份的那個頁面,或者接口數據.是否可以做到呢;

事實上,瀏覽器可以緩存js,就一定能緩存我們的動態頁面;

先研究下js是如何緩存起來的:

用firebug看一下js的加載:

先強刷(ctrl+F5)一下 http://ilab.iteye.com/ 頁面,觀看js的加載如圖

 

 

狀態為200 , 查一下200的含意 :

請求成功(其后是對GET和POST請求的應答文檔。)

這是對js文件的完整加載;

再直接F5刷新下 http://ilab.iteye.com/ ,觀看js的加載如圖

 

 

狀態為304,再查一下304的含意:

未按預期修改文檔。客戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。

此時其實并沒有從服務端加載完整文件而是去讀的本地緩存;

從304的描述來看,我們知道,請求依然發出,并由服務端告知瀏覽器,掉用緩存;

我們可以總結出兩點:

1.

由于服務端只是返回簡單的頭信息,并沒有生成完整頁面,所以雖然請求依然發出,對于瀏覽器和服務器來說都更快更輕松了;

2.

我們可以控制瀏覽器去更新緩存;)

具此,我們可以得出結論,對于某此動態頁面來說,完全可以充分利用瀏覽器緩存來降低服務器壓力,提升客戶端速度;

----------------------------------分隔線 ----------------------------------------

現在我們來看下要怎么做;

由于對文檔的描述在http頭信息中,并且依據304的描述,我們知道,這個屬性和 Modified Time有關,我們比對下普通的頁面和js的頁面的respose的頭信息的不同:

 

 

我們發現,多了個Last-Modified的屬性;

再比對請求,

 

 

發現,多了If-Modified-Since;

武斷的推測一下(或者認真的讀下http協議的文檔):我們可以這樣認為:

1.第一次請求成功返回202;

2.假如返回頭信息有Last-Modified屬性 則存入瀏覽器緩存;

3.再次請求,假如請求的為緩存頁面,則頭信息中加入 If-Modified-Since;

4.服務端通過If-Modified-Since(即上次響應中Last-Modified的值)來判斷是否需要更新,否的話返回304;

5.假如返回304,則瀏覽器則讀緩存;

 

 

按照這個原理我們通過 HttpServletResponse, HttpServletRequest來償試實現下:

對任意一個頁面先來句

Java代碼

  1. getResponse().addHeader("Last-Modified""hello kitty");   

 

然后再次請求該頁面時,我們就可以發現請求中就有了 If-Modified-Since 屬性

Java代碼

  1. getRequest().getHeader("if-modified-since");  

 

通過這句代碼,拿到具體值;

假如判斷為不用更新則直接返回304

Java代碼

  1. getResponse().setStatus(HttpServletResponse.SC_NOT_MODIFIED);  

 

并且立即結束返回,不用繼續執行;

對于取到的if-modified-since,即是上次存入的Last-Modified,里面的值到是可以很隨意,你除了放時間,也可以放memberId;

--------------------------------分隔線 ----------------------------------

實現問題也解決了;

最后一個問題,是怎么保證接口,或者頁面的動態性;也就是說怎么通過Last-Modified或者if-modified-since來判斷頁面不需要更新;

考慮最簡單的情況,這個接口或者頁面僅提供和用戶相關的不同信息,并且該信息一但建立則不會改變;

那對于此接口,假如參數中包含memberId屬性,則一但具有if-modified-since值,則永遠返回304;因為對于不同url,瀏覽器均會進行緩存;

假如memberId屬性在cookie中,url一致,那么,在Last-Modified中存入memberId,判斷時于cookie或者session中url比對,相同則認為是正確的緩存返回304;

現在,新的問題來了,用戶的相關信息更新了;

假如這個更新頻率不是那么頻繁,那么想辦法做個更新機制還是合理的;你需要一個地方在服務端記錄用戶接口信息的版本號了,從if-modified-since中取得上次的版本號,然后進行比對,如果相同,則返回304;

在某些情況下,獲取更新記錄信息要比計算合成完整信息并利用帶寬將數據傳給客戶端代價小得多,此時你可以試下WEB服務動態接口的靜態緩存;

【編輯推薦】

  1. PHP企業級應用之常見緩存技術深入解讀
  2. 調優LAMP應用程序的5種簡單方法:使用操作碼緩存
  3. 13.1 緩存
  4. 7.2 數據源控件的高速緩存
責任編輯:金賀 來源: ITEYE博客
相關推薦

2020-11-30 07:02:43

瀏覽器緩存機制

2017-04-26 14:15:35

瀏覽器緩存機制

2019-01-03 13:09:58

瀏覽器緩存原理

2018-08-07 10:44:50

緩存技術瀏覽器

2020-07-16 08:04:21

瀏覽器緩存策略

2021-06-01 09:12:47

前端瀏覽器緩存

2021-08-02 13:05:49

瀏覽器HTTP前端

2017-05-15 13:40:20

瀏覽器http緩存機制

2020-10-29 11:04:28

緩存瀏覽器LocalStorag

2020-12-29 09:56:29

瀏覽器緩存HTTP

2018-11-30 09:00:19

html5cssjavascript

2018-01-19 14:39:53

瀏覽器頁面優化

2015-10-20 11:47:25

SSL火狐瀏覽器

2020-03-11 20:42:34

瀏覽器緩存機制

2022-03-24 08:31:25

Web性能優化瀏覽器緩存API封裝

2019-08-16 10:54:03

本地存儲javascripthttp緩存

2021-07-22 09:55:28

瀏覽器前端緩存

2012-03-20 11:31:58

移動瀏覽器

2012-03-19 17:25:22

2012-03-20 11:41:18

海豚瀏覽器
點贊
收藏

51CTO技術棧公眾號

国产a级黄色大片| 亚洲精品永久免费视频| 蜜臀av一区二区| 亚洲一区二区三区sesese| 日本在线中文字幕一区| 亚洲午夜女主播在线直播| 成年人在线视频免费观看| 五月婷婷色综合| www.97| 亚洲视频在线观看一区| 中文字幕第80页| 国产日韩欧美在线一区| 欧美污视频网站| 99re热这里只有精品视频| 激情五月婷婷六月| 成人毛片视频在线观看| 成人在线免费观看视频网站| 国产一区二区中文字幕| 亚洲欧美综合一区| 麻豆精品久久久| 国产免费xxx| 国产麻豆精品一区二区| 高清无码视频直接看| 成人一级视频在线观看| 黄色国产精品视频| 亚洲欧美一区二区视频| 佐山爱痴汉视频一区二区三区| 欧美日韩国产精品一区二区三区四区 | 99国产精品国产精品毛片| 国产一区二区三区小说| 99国产麻豆精品| 亚洲福利精品视频| 国产欧美一区二区精品忘忧草 | 国产九九视频一区二区三区| 50度灰在线观看| 97久久精品人人澡人人爽| 日韩精品一区二区三区不卡 | 欧美一区二区在线不卡| 色戒汤唯在线观看| 久久精品国产久精国产一老狼| 激情久久免费视频| 国产精品爱啪在线线免费观看| 欧美精品九九| 午夜精品一区二区在线观看| www.日韩精品| 久久白虎精品| 欧美一区二区视频免费观看| 欧美va视频| 国产精品精品视频一区二区三区| 亚洲日韩视频| 国产精品网站免费| 欧美性xxxxxx| 在线一区视频观看| 成人国内精品久久久久一区| 日本人妖一区二区| www成人免费观看网站| 欧美精选午夜久久久乱码6080| 91大神在线观看线路一区| 国产精品狼人色视频一区| 日韩高清在线一区| 成人手机在线电影| 精品国产一二三区| 九九久久成人| 国产精品12p| 亚洲第一精品在线| 日韩精品av| 国产成人福利网站| 日本aⅴ免费视频一区二区三区| 成人羞羞国产免费网站| 欧美偷拍一区二区| 亚洲一区二区三区在线免费| 精品久久蜜桃| 亚洲视频免费观看| 亚洲啊v在线| 成人免费黄色网| 成人性生交大片免费看中文网站| 亚洲嫩模一区| 久久伊人色综合| 国产精品久久久免费| 大香一本蕉伊线亚洲网| 日韩av在线网| 欧美人成在线| 亚州av影院| 亚洲精品一区久久久久久| 中文字幕日韩一区二区不卡| 成年人网站大全| 亚洲国产精品久久久久久| 精品av一区二区| 男人天堂1024| 亚洲精品在线免费观看视频| 久久要要av| 午夜激情福利在线| 日韩精品在线影院| 亚洲日本免费| 国产对白在线正在播放| 久久影视电视剧免费网站| 久久久久国产精品一区三寸| 在线免费看污| 久久99热这里只有精品国产 | 国产精品videossex撒尿| 国产精品三区www17con| 亚洲免费观看高清完整版在线 | 欧美精品观看| 米奇.777.com| 欧美精品久久久久a| 国产一区二区美女诱惑| 看黄网站在线观看| 成人写真福利网| 亚洲免费伊人电影| 日韩成人久久| 日韩欧美视频网站| 亚洲天堂网在线观看| 日韩精品色哟哟| 涩爱av在线播放一区二区| 午夜精品一区二区三区在线播放| 国产成人午夜高潮毛片| 午夜小视频在线观看| 97av自拍| 欧美性色xo影院| 日韩免费高清| 日本免费一二区| 欧美一级在线播放| 久久久久久久久久美女| 祥仔av免费一区二区三区四区| 在线观看17c| 亚洲一区二区久久久| 国模少妇一区二区三区| 亚洲精品88| 国产av熟女一区二区三区| 日韩av影视在线| 国产在线视频不卡二| 校园春色亚洲| 我的公把我弄高潮了视频| 中文字幕亚洲第一| 久久综合色一综合色88| www.豆豆成人网.com| 国产 porn| 51视频国产精品一区二区| 亚洲欧美日韩在线不卡| 国产精品美女久久久久久不卡| 一级黄色av| 91在线观看免费网站| 色狠狠色狠狠综合| 在线不卡视频| 91资源在线观看| 国产美女在线一区| 久久久久久久香蕉网| 亚洲国产乱码最新视频| 亚洲一区在线| 黄色片网站在线| 成年人免费观看的视频| 久久久国产视频| 亚洲在线视频网站| 亚洲日本黄色| 天堂久久午夜av| 涩涩视频免费网站| http;//www.99re视频| 精品少妇一区二区三区| av福利精品导航| 精品国产欧美日韩| 欧美r级在线| 久久久久久免费看| 国产精品福利观看| 欧美一区二区三区日韩视频| 成人一区二区视频| 国产成人一区| 在线你懂的视频| 99蜜桃臀久久久欧美精品网站| 国产精品久久久久久搜索| 欧美无砖砖区免费| 国产精品白丝av| 欧美电影完整版在线观看| 日本福利片在线| 中文字幕剧情在线观看一区| 欧美成人精品三级在线观看| 亚洲成人手机在线| 日韩黄色免费电影| 精品伊人久久| www.亚洲.com| 亚洲熟妇av一区二区三区| 亚洲自拍高清视频网站| 亚洲人成电影网站色www| 亚洲精品国产一区二区三区四区在线| 一区二区日韩免费看| 日韩精品视频中文字幕| yourporn在线观看视频| 亚洲欧洲日产国码无码久久99 | 欧美日韩和欧美的一区二区| 成人在线综合网| 影视一区二区| 精品国产黄a∨片高清在线| 色视频在线观看| 116极品美女午夜一级| 国产九色精品| 九九视频这里只有精品 | 精品一区二区三区免费观看| 精品久久久久中文字幕小说| 在线免费看h| 欧美在线观看在线观看| 日本中文字幕片|