999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

運用ASP.NET進行URL重寫的技術實現

2010-09-01 00:16:56郭樂明
赤峰學院學報·自然科學版 2010年5期
關鍵詞:搜索引擎方法

郭樂明

(浙江農業商貿職業學院,浙江 紹興 312000)

運用ASP.NET進行URL重寫的技術實現

郭樂明

(浙江農業商貿職業學院,浙江 紹興 312000)

本文闡述了URL重寫(URL Rewriting)的用處:使URL簡單易記;防止黑客攻擊;滿足搜索引擎需要;提高網站可移植性;防止盜鏈;使URL支持“可刪節”的需求.本文分析了ASP.NET實現URL重寫的機制,并重點論述了用ASP.NET進行URL重寫的技術實現.

ASP.NET;URL Rewriting;ISAPI;IIS;HTTP Module;HTTP Handler

1 URL重寫的用處

URL重寫,實質上是將網頁真實URL隱藏起來,使用戶通過相應的虛擬URL(VirtualURL)訪問網頁資源,以便克服真實URL的許多不足.具體來講,URL重寫有以下幾點用處:

1.1 滿足搜索引擎需要,實現搜索引擎中排名優化.目前很多搜索引擎不支持動態鏈接,無法抓取動態網頁,尤其是帶“?”查詢參數的網頁,使網站許多信息無法被用戶搜索到.即使搜索引擎支持動態鏈接,比如Google,它抓取動態網頁的優先度也遠遠低于靜態網頁,這樣就使動態網頁的排名遠遠落后于靜態網頁.而URL重寫很大程度上是用于將動態鏈接轉換成靜態鏈接,這將使得搜索引擎盡可能深地抓取網站子欄目的內容,使網頁在搜索結果中排名靠前.

1.2 隱藏網頁實現技術,增強網站安全性.如果網頁上帶著像.jsp/.asp/.aspx這樣的擴展名,讓人一看就知道網站是用什么技術實現的.但如果將http://server/test.aspx?id=3重寫成http://server/test/3.htm,使黑客無法知曉網頁的實現技術,大大降低了網頁受攻擊的可能性.

1.3 提高網站的移植性.由于真實URL含有實現技術語言的后綴信息(如.aspx/.asp/.jsp),當網站改變技術實現語言的時候,需要改動大量的鏈接,比如從.net平臺的.aspx轉成java平臺的.jsp.而且,如果頁面修改了擴展名,那么對于搜索

引擎而言就是一個新頁面,它原先在搜索引擎中的PageR-ank也會隨之消失,從頭開始排名.如果用URL重寫技術隱藏技術實現細節,修改移植就會很方便,而且完全不損失PageRank.

1.4 防止盜鏈.所謂盜鏈,是指盜用其他網站上相應資源的URL鏈接為自己網站所用.比如將別人網站上的圖片或聲音的URL寫入自己的網頁代碼,使用戶在訪問網站時,能直接獲得被盜用網站的資源.如果一個網站的資源經常被其他網站盜鏈,那么網站的性能將會大大下降.而如果將真實URL重寫成虛擬URL,甚至附帶強大的站外鏈接過濾功能,就可以防止盜鏈.

1.5 使URL簡單易記,增加URL美感.比如可以把“http: //server/Detail.aspx?year=2009&month=12&day=30”重寫成“http: //server/2009/12/30/”,這樣,用戶可以相當方便地訪問網站.

1.6 使URL支持“可刪節”的需求[1,2].“可刪節”是一種極其重要的用戶需求,通過URL重寫,可以實現這種需求.比如將上例“http://server/2009/12/30/”中的日期刪除,變成“http: //server/2009/12/”,能列出2009年12月的內容;繼續刪除URL中的月份,變成“http://server/2009/”,能列出2009年的內容等.

2 用ASP.NET實現URL重寫的機制

如圖1所示,當IIS(Internet服務管理器)接收到一個Web請求時,IIS 通過ISAPI篩選器(ISAPI Filter)檢查被請求文件的擴展名以確定如何處理該請求.IIS可以自行處理靜態資源的請求(如HTML頁面、圖像),或者將請求傳遞到ISAPI擴展(ISAPIExtension).比如asp文件使用asp.dll ISAPI擴展.對于ASP.NET文件,IIS會將請求傳給aspnet_isapi.dll ISAPI擴展.然后aspnet_isapi.dll將處理操作傳遞給托管的ASP.NET進程(aspnet_wp.exe),該進程讀取machine.config和web.config中配置的多個HTTP模塊(HTTP Module),用對應的HTTP處理器(HTTP Handler)處理請求,并將處理結果(如由ASP.NET網頁生成的HTML代碼)返回給客戶端.[2,3]

由圖1可見,實現URL重寫的關鍵是ISAPI:ISAPI Filter和ISAPI Extension,但是,ISAPI的開發和部署比較困難,在ISAPIFilter上實現URL重寫難度比較大.由于ASP. NET引擎與IIS非常相似[2],所以可以利用ASP.NET的HTTP Module或HTTP Handler實現URL重寫.其中,HTTP Module實現了類似于ISAPI Filter的功能,HTTP Handler實現了類似于ISAPI Extension的功能.

為了實現URL重寫,ASP.NET需要創建和注冊自定義HTTP Module或HTTP Handler,以便完成以下操作[2]:

(1)檢查被請求的路徑,以確定URL是否需要重寫.

(2)如果URL需要重寫,可以調用System.Web.Http-Context類的RewritePath()方法來重寫路徑.

3 如何用ASP.NET實現URL重寫

3.1 為URL重寫指定配置信息.在創建自定義HTTP Module或HTTP Handler之前,必須在machine.config(影響整個Web服務器)或web.config(針對特定的Web應用程序)的configuration/system.web 部分設置配置信息[5]:

或者:

3.2 編寫URL重寫規則.為了能使URL正確被重寫,需要在web.config或其他文件中編寫URL重寫規則,以便確定需要重寫的URL地址和URL轉發的地址.一般使用可以序列化(Serializable)的結構:

3.3 選擇合適的URL重寫時機.由于ASP.NET不同的身份驗證(Authorize)和文件授權方式(Authenticate)會對URL重寫產生影響[2],所以應選擇Global.asax文件中合適的事件來執行URL重寫.

如果使用Windows身份驗證和文件授權方式,則最好使用HTTP Module進行URL重寫,而且必須由BeginRequest事件或AuthenticateRequest事件執行URL重寫.對于窗體(Forms)驗證,HTTP Module最好是由AuthorizeRequest事件執行重寫.[2,7]

3.4 自定義URL重寫方法.以HTTP Module為例:

URLRules rules=…… //用自定義的URLRules類獲得3.2節的URL重寫規則

//用自定義的Helper.Resolve方法將rules[i].Url轉換為相應的目錄

則,則進行相應替換

3.5 在Global.asax相應事件中執行自定義的URL重寫方法.例如:

4 小結

本文詳細闡述了URL重寫的用處.實現機制和方法. URL重寫之所以能在ASP.NET上實現,關鍵在于能利用ASP.NET的HttpContext類RewritePath()方法來重寫路徑,而無須改動復雜的ISAPI.然而,上述方法只針對一些擴展名的URL重寫,如果要想處理所有文件類型的URL重寫,甚至控制靜態文件類型,則需要在上述基礎上更為復雜的技術設置.

〔1〕Jakob Nielsen.URL asUI[DB/OL].http://www.useit. com/alertbox/990321.html.

〔2〕Scott Mitchell.URL Rewriting in ASP.NET[DB/OL].http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnaspp/html/urlrewriting.asp.

〔3〕Michele Leroux Bustamante.Inside IIS&ASP.NET[DB/ OL].http://www.theserverside.net/articles/showarticle.tss? id=IIS_ASP.

〔4〕孫亞民.ASP.Net中自定義Http處理及其應用[DB/OL]. http://www.uml.org.cn/

〔5〕Microsoft.http://msdn.microsoft.com/library/

〔6〕Mansoor Ahmed Siddiqui.HTTP Handlers and HTTP Modulesin ASP.NET[DB/OL].http://www.15seconds. com/issue/020417.htm

〔7〕Richard Birkby.URL Rewriting with ASP.NET[DB/OL].http://www.codeproject.com/aspnet/URLRewriter.asp.

TP393.092

A

1673-260X(2010)05-0019-02

猜你喜歡
搜索引擎方法
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
Nutch搜索引擎在網絡輿情管控中的應用
警察技術(2015年3期)2015-02-27 15:37:09
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
知識漫畫
百科知識(2012年11期)2012-04-29 08:30:15
主站蜘蛛池模板: 亚洲一区二区三区国产精品| 99热这里只有精品5| 福利姬国产精品一区在线| 99中文字幕亚洲一区二区| 美女国产在线| 啦啦啦网站在线观看a毛片| 亚洲综合狠狠| 2020国产精品视频| 国产精品19p| 国产精品不卡片视频免费观看| 亚洲有码在线播放| 综合社区亚洲熟妇p| 在线观看无码a∨| 狂欢视频在线观看不卡| 久久五月天综合| 性色在线视频精品| 日韩欧美中文字幕在线精品| 国产va免费精品观看| 911亚洲精品| 欧洲亚洲一区| 天天色天天综合网| 91成人免费观看在线观看| 国产在线自乱拍播放| 亚洲人妖在线| 亚洲日韩国产精品无码专区| 久久人妻xunleige无码| 成人国产精品2021| 国产小视频免费观看| 亚洲无码久久久久| 亚洲一级毛片在线观播放| 国产精品网拍在线| 久久伊伊香蕉综合精品| 亚洲综合专区| 欧美成人第一页| 91香蕉视频下载网站| www亚洲天堂| 欧美色视频在线| 丝袜亚洲综合| 亚洲精品视频免费看| 久久综合丝袜长腿丝袜| 欧美激情伊人| 99久久无色码中文字幕| 成年免费在线观看| 久久性视频| 一区二区三区四区日韩| 五月天婷婷网亚洲综合在线| 视频二区国产精品职场同事| 91色在线视频| 日韩精品成人在线| www.亚洲天堂| 国产精品林美惠子在线播放| 成人综合网址| 中文纯内无码H| 国产精品区视频中文字幕| 成人在线观看不卡| 亚洲综合第一页| 亚洲精品免费网站| 亚洲精品中文字幕午夜| 亚洲人成网站18禁动漫无码| 四虎亚洲精品| 精品国产一区91在线| 国产二级毛片| 国产精品自在在线午夜| 国产视频一二三区| 欧美亚洲国产一区| 色精品视频| 91无码视频在线观看| 国产美女在线观看| 人与鲁专区| 国内嫩模私拍精品视频| 国产香蕉一区二区在线网站| 国产真实二区一区在线亚洲| 风韵丰满熟妇啪啪区老熟熟女| 亚洲中文无码h在线观看| 二级特黄绝大片免费视频大片| 在线观看国产精品日本不卡网| 国产成人精品一区二区三在线观看| 一区二区影院| 久久动漫精品| 在线中文字幕网| 久久人体视频| 国产不卡在线看|