校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ASP.NET性能優化之讓瀏覽器緩存動態網頁的方法

ASP.NET性能優化之讓瀏覽器緩存動態網頁的方法

熱門標簽:手機外呼系統什么原理 滄州電銷外呼系統價格 凱立德地鐵站地圖標注 天津電銷外呼系統違法嗎 400電話個人能不能辦理 上海400客服電話怎么申請 溫州外呼系統招商 銀行信貸電話機器人 合肥ai電銷機器人費用
OutputCache是針對所有訪問服務器資源的用戶,本篇要介紹的瀏覽器緩存則是針對單個用戶,讓瀏覽器在我們的控制下徹底不持續訪問服務器上的動態內容,也就是我們要讓瀏覽器變成我們的緩存機制中的一部分,在某些特定的場景下最大化地提升ASP.NET站點的性能。如果說OutputCache是從廣度上提升并發效率,則瀏覽器緩存是從深度上提升效率。

一:HTTP頭簡介

1.1瀏覽器第一次請求

假設我們請求一個URL地址,譬如我服務器上的一個靜態頁面http://192.168.0.77/luminji2/html/test1.htm,會返回如下的HTTP頭信息:

image

HTTP頭信息中每個參數的含義這里暫且不表,我們關注和本文論述相關的3個信息:

首先,響應狀態200OK,即表示從服務器上抓取數據成功。

其次,Last-Modified:Fri, 09 Sep 2011 02:56:45 GMT

這是WEB服務器在告訴瀏覽器,我這個文件的最后修改日期是Fri, 09 Sep 2011 02:56:45 GMT。必須要說明的是,它是GMT時間,也就是格林威治時間,一般中國境內使用的是GMT+8時區(要看系統的區域設置而定)。

最后就是Etag,WEB服務器當前響應的這個對象的標志值,就一個對象而言,比如一個 html 文件,如果被修改了,其 Etag 也會別修改。

1.2什么是瀏覽器緩存

我使用的是FireFox,在地址欄內敲入about:cache?device=disk,我們就會看到被瀏覽器緩存起來的上面這個HTML頁面,如下:

image

(注意,這里的Last Modified和Http頭中的Last-Modified沒有任何關系)。

每種瀏覽器都會有自己的緩存機制,但是都差不多,這里暫且不表。

1.3如何命中緩存

再次請求剛才的URL,我們得到頭信息如下:

image

可以看到狀態變為304 Not Modified了,這相當于是WEB服務器告訴瀏覽器,請用自己的緩存,不要到我這里來下載正文內容。那么,WEB服務器是根據什么來決定這樣告訴瀏覽器呢?

這里,我們就需要請求頭信息中的If-Modified-Since。請求頭是瀏覽器發送給WEB服務器的,一旦包含這個參數,就是瀏覽器跟WEB服務器說:請查看自從Fri, 09 Sep 2011 02:56:45 GMT一來,你的內容變動過沒。WEB服務器就會根據這個來判斷,如果沒有變動過,就會給瀏覽器返回304 Not Modified,就像本例。這樣子,瀏覽器就會去本地拿正文數據,減少了網絡流量。

If-None-Match就是Etag判斷模式,跟Last-Modified其實完成的目的是一致的,這里暫且不表。

假設我們修改了文件test1.htm,試想會是什么結果,肯定是200OK。瀏覽器和WEB服務器之間就是通過這種機制來完成靜態網頁的緩存。

二:asp.net的瀏覽器緩存實現

上面我們說的是靜態頁面的情況,那么aspx頁面,也就是動態頁面會是怎么樣一種情況?現在,我們創建一個動態網頁來看一看。先來創建一個最簡單的aspx,如下:

復制代碼 代碼如下:

body>
%=DateTime.Now %>
/body>

請求一下,得到的頭信息如下:

image

然后再多次請求一下,我們發現每次都是200OK,并且我們發現頭信息中丟了一個很重要的信息,那就是Last-Modified。服務器沒有告訴瀏覽器自己的對象的最后修改日期,那么瀏覽器就只好每次去服務器重新獲取全部數據了。看到這里,我們應該明白了,要讓瀏覽器不去拿數據,動態程序就得想法設法自己添加這個頭信息。

好的,現在我們就在ASPX的后臺代碼中這樣來實現一個最簡單的頭信息添加:

復制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
this.Response.AddHeader("Last-Modified", DateTime.Now.ToString("U", DateTimeFormatInfo.InvariantInfo));
}

添加了頭信息后,我們發現再次請求URL后,頭信息變為如下:

image

可以欣喜滴看到,響應頭中包含了Last-Modified,而請求頭中則包含了If-Modified-Since。

當然,我們仍舊發現,每次請求還是200OK。這是當然了,既然頭信息都是ASP.NET在后臺添加的,那么我們要返回什么樣的響應狀態給服務器這段邏輯也得由自己來寫。現在,我們假設我們要讓瀏覽器緩存10秒的時長,其完整的代碼應該如下:

復制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
this.Response.AddHeader("Last-Modified", DateTime.Now.ToString("U", DateTimeFormatInfo.InvariantInfo));
DateTime IfModifiedSince;
if (DateTime.TryParse(this.Request.Headers.Get("If-Modified-Since"), out IfModifiedSince))
{
if ((DateTime.Now - IfModifiedSince.AddHours(8)).Seconds 10)
{
Response.Status = "304 Not Modified";
Response.StatusCode = 304;
return;
}
}
//其它
}

經過這次修改后,如果我們在10秒內持續請求該aspx頁面,則始終返回304狀態,也即瀏覽器不會去服務器拿正文,只會在本地去讀取自己的緩存,這樣一來,服務器壓力自然就小了。如果我們10秒內不對服務器請求這個頁面,則10秒后會返回200OK,即重新到服務器拿頁面數據。

現在,用AB來模擬100并發用戶進行1000次請求,得到的比較結果如下(注意,為了強化效果,我們在后臺需要模擬一些比較耗時的動作,比如讀取數據庫):

image

左邊是未做緩存的aspx頁面,右邊是做了緩存的aspx頁面,可以看到,吞吐率相差10倍之多。

提示,使用ab進行壓力測試的時候,需要加入If-Modified-Since的頭信息,命令如下:

C:\&;ab -n1000 -c100 -H "If-Modified-Since: Friday, 09 September 2011 09:35:23 GMT" http://192.168.0.77/luminji2/aspx/test1.aspx

本文代碼下載:MvcApplication320110909.rar

三:問題的提出

在上面的說到的瀏覽器緩存實現中,瀏覽器通過和WEB服務器的溝通協調機制來確定自己是否需要調用緩存,這意味著動態程序仍舊需要處理來自客戶端的請求,如果有一種機制能夠讓瀏覽器不需要請求服務器就能夠決定是否調用緩存,就能徹底舍去服務器處理這一環節。下一篇將繼續闡述這種機制。

您可能感興趣的文章:
  • ASP.NET性能優化之局部緩存分析
  • ASP.NET 性能優化之反向代理緩存使用介紹
  • ASP.NET性能優化之構建自定義文件緩存
  • ASP.NET性能優化小結(ASP.NETC#)
  • asp.net 程序性能優化的七個方面 (c#(或vb.net)程序改進)
  • ASP.NET比較常用的26個性能優化技巧
  • asp.net小談網站性能優化
  • ASP.NET性能優化之減少請求
  • ASP.NET技巧:同時對多個文件進行大量寫操作對性能優化
  • asp.net性能優化之使用Redis緩存(入門)

標簽:溫州 怒江 洛陽 七臺河 酒泉 白城 金華 赤峰

巨人網絡通訊聲明:本文標題《ASP.NET性能優化之讓瀏覽器緩存動態網頁的方法》,本文關鍵詞  ASP.NET,性能,優化,之,讓,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET性能優化之讓瀏覽器緩存動態網頁的方法》相關的同類信息!
  • 本頁收集關于ASP.NET性能優化之讓瀏覽器緩存動態網頁的方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美午夜精品久久久| 亚洲一卡二卡三卡四卡无卡久久| 亚洲va韩国va欧美va| 波多野结衣91| 国产情人综合久久777777| 精品影院一区二区久久久| 日韩一区国产二区欧美三区| 亚洲成人免费av| 欧美视频日韩视频| 亚洲成国产人片在线观看| 91免费看片在线观看| 久久久久久久综合狠狠综合| 激情亚洲综合在线| 2023国产精品自拍| 国产高清久久久| 国产欧美精品一区二区三区四区 | 日韩影院在线观看| 91福利国产成人精品照片| 国产精品传媒在线| 91一区二区在线观看| 自拍偷拍亚洲欧美日韩| 成人开心网精品视频| 久久久综合精品| 国产福利一区二区三区视频在线 | 亚洲成人一区二区| 8x福利精品第一导航| 狠狠色丁香久久婷婷综合丁香| 久久久久国色av免费看影院| 国产激情精品久久久第一区二区| 国产精品电影一区二区| 99re热视频精品| 一区二区三区成人| 欧美视频中文字幕| 美国十次了思思久久精品导航| 久久无码av三级| 一本一道综合狠狠老| 亚洲成av人影院| 久久久久久久久久久久久久久99| 成人高清视频在线| 亚洲国产色一区| 精品福利一二区| 色综合久久综合| 日产国产高清一区二区三区| 国产日产亚洲精品系列| 在线区一区二视频| 蜜桃传媒麻豆第一区在线观看| 国产日韩在线不卡| 欧美在线|欧美| 国产在线观看一区二区| 亚洲丝袜精品丝袜在线| 91精品国产色综合久久久蜜香臀| 经典三级在线一区| 国产日韩欧美精品电影三级在线| 91国在线观看| 韩国一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 日韩免费看的电影| 色婷婷一区二区三区四区| 久久国产精品区| 亚洲国产欧美日韩另类综合| 欧美国产一区二区在线观看 | 久久免费午夜影院| 欧美亚洲一区二区在线| 国产福利一区在线观看| 亚洲成a人v欧美综合天堂下载 | 久久精品免费在线观看| 欧美日本在线一区| 国产老妇另类xxxxx| 亚洲欧洲无码一区二区三区| 91精品国产一区二区三区蜜臀| 成人黄动漫网站免费app| 亚洲gay无套男同| 中文字幕一区二区在线观看| 久久日一线二线三线suv| 欧美午夜寂寞影院| 91亚洲男人天堂| 国产精品主播直播| 久久精品国产一区二区三| 天天操天天综合网| 夜夜夜精品看看| 亚洲欧美综合色| 亚洲国产精品成人综合| 国产欧美中文在线| 精品播放一区二区| 日韩亚洲欧美中文三级| 欧美日韩一区国产| 欧洲av一区二区嗯嗯嗯啊| 国产馆精品极品| 国产真实乱子伦精品视频| 麻豆一区二区三| 同产精品九九九| 亚洲国产综合色| 亚洲一区二区三区四区在线免费观看 | 91麻豆精品国产91久久久使用方法 | 一本大道av伊人久久综合| 成人av影视在线观看| 调教+趴+乳夹+国产+精品| 亚洲午夜影视影院在线观看| 亚洲精品中文在线影院| 一区二区三区成人| 亚洲一区电影777| 亚洲国产日韩一级| 亚洲国产精品一区二区久久 | 亚洲图片有声小说| 亚洲成va人在线观看| 亚洲不卡在线观看| 免费一级片91| 久草中文综合在线| 国产毛片精品一区| 成人av影视在线观看| 色偷偷88欧美精品久久久| www.久久久久久久久| av电影天堂一区二区在线观看| 日本不卡视频在线观看| 韩国欧美国产一区| 国产在线精品视频| av一本久道久久综合久久鬼色| 波多野结衣的一区二区三区| 777精品伊人久久久久大香线蕉| 欧美日韩国产首页在线观看| 在线播放欧美女士性生活| 精品粉嫩超白一线天av| 日本一区二区高清| 亚洲欧美日韩系列| 蜜臀av一区二区在线免费观看| 国产精品77777竹菊影视小说| 国产精品亚洲一区二区三区在线| 成人福利电影精品一区二区在线观看| 成人黄色小视频| 欧美剧情片在线观看| 久久综合色综合88| 综合色中文字幕| 天堂久久一区二区三区| 国产精品白丝jk黑袜喷水| 99国产精品国产精品毛片| 欧美日韩1区2区| 久久先锋影音av| 一区二区三区四区亚洲| 视频在线观看91| 精东粉嫩av免费一区二区三区| 成人免费看的视频| 欧美喷水一区二区| 国产欧美日韩三级| 天堂va蜜桃一区二区三区 | 精品一区免费av| 欧洲av一区二区嗯嗯嗯啊| 久久亚洲综合色一区二区三区| 亚洲人成网站在线| 久草这里只有精品视频| 欧美性xxxxxxxx| 综合中文字幕亚洲| 国产真实乱子伦精品视频| 欧美视频一区二区三区| 中文字幕欧美日韩一区| 石原莉奈在线亚洲二区| 一本大道久久a久久精品综合| 亚洲精品一区二区三区在线观看| 一级日本不卡的影视| jvid福利写真一区二区三区| 4438成人网| 亚洲综合自拍偷拍| 国产成人免费视频网站| 日韩欧美久久一区| 亚洲一区二区精品久久av| 成人网男人的天堂| 2020国产精品自拍| 蜜桃视频一区二区| 欧美喷水一区二区| 亚洲精品欧美二区三区中文字幕| 国产一区福利在线| 欧美一区二区三区视频免费| 亚洲女同一区二区| 成人成人成人在线视频| 久久久精品免费免费| 美腿丝袜亚洲色图| 一道本成人在线| 国产亚洲精品免费| 激情图区综合网| 精品久久久三级丝袜| 日韩精品一二三四| 欧美日韩mp4| 五月天亚洲婷婷| 99在线精品免费| 日韩一区二区在线看| 亚洲国产精品欧美一二99| av亚洲精华国产精华| 国产精品久久久久久久浪潮网站 | 免费观看日韩电影| 3atv一区二区三区| 激情深爱一区二区| 亚洲欧洲日产国产综合网| 日本精品一级二级| 日韩精品一二三四| 国产午夜精品久久久久久免费视| 成人av在线播放网站| 午夜精品视频一区| 国产欧美日韩一区二区三区在线观看| youjizz国产精品| 日本午夜一区二区| 国产精品欧美一区喷水|