基于HttpHandler的頁面靜態(tài)化
1、引言
ASP.NET是微軟推出的一種Web服務器端開發(fā)技術,我們在做ASP.NET開發(fā)時通常更多的是考慮頁面上實現(xiàn)的功能,例如:數(shù)據(jù)怎么在頁面上顯示,用戶登錄該如何實現(xiàn)等。但我們很少考慮在服務器端如何通過編程的方式去處理請求,例如:當客戶端請求一個aspx頁面時,默認情況下服務器會編譯并執(zhí)行這個動態(tài)頁面,并將執(zhí)行結果輸出到客戶端,這就是一個典型的“請求-響應”的過程。但如果該頁涉及到大數(shù)據(jù)量的數(shù)據(jù)庫查詢以及較為復雜的邏輯運算,特別是在該頁面并發(fā)訪問人數(shù)較多的情況下,響應時間會大幅度增多,服務器壓力也會增加。怎么解決這個問題?我們可以采用動態(tài)頁面靜態(tài)化技術解決這個問題。
2、頁面靜態(tài)化的概念
頁面靜態(tài)化即把動態(tài)頁面轉換成靜態(tài)頁面。頁面靜態(tài)化的優(yōu)勢:(1)有利于搜索引擎搜索、(2)沒有丟掉動態(tài)頁面維護內容的方便性、(3)性能和安全方面的提升。早期的搜索引擎并不能很好的檢索如*.jsp,*.aspx等的服務器動態(tài)頁面,但是對*.html等靜態(tài)頁面卻有良好的檢索效果,于是就產(chǎn)生了一種“動態(tài)頁面靜態(tài)化”的技術,在ASP.NET中就是把用戶對同一個aspx頁面的不同請求結果保存到不同的html文件中,在以后的對該aspx頁面的請求,將調用相應html頁面作為對客戶端的響應,這樣將大大節(jié)省服務器端處理時間,以達到快速響應客戶端請求的效果。
要想實現(xiàn)動態(tài)頁面的靜態(tài)化必須先了解ASP.NETISAPI的運行機制。
2.1ASP.NET請求的處理過程如下
(1)當Http請求提交到服務器端時,IIS檢查所請求的資源類型并調用ASP.NETISAPI,步驟如下:1)調用ASP.NET輔助進程(IIS6對應為w3wp.exe);2)輔助進程加載.NET運行時環(huán)境;3)ASP.NETISAPI將請求轉發(fā)給輔助進程。
(2)輔助進程收到請求,通知ASP.NETISAPI它將進行處理。
(3)在輔助進程的上下文中執(zhí)行處理過程,步驟如下:1)在.NET運行時環(huán)境中執(zhí)行;2)經(jīng)HttpModule容器和HttpHandler容器處理。
(4)處理完畢,通知ASP.NETISAPI完成。在這個處理過程中我們重點關注的是如何通過HttpModule和HttpHandler來處理Http請求。
欄目分類
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 官方認定!CSSCI南大核心首批191家“青年學者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國內核心期刊分級情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學者
- 我用了一個很復雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- 重磅!CSSCI來源期刊(2023-2024版)最新期刊目錄看點分析!全網(wǎng)首發(fā)!
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應該熟知的10個知識點。
- 注意,最新期刊論文格式標準已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學術論文編寫規(guī)則
- 盤點那些評職稱超管用的資源,1,3和5已經(jīng)“絕種”了