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
主站蜘蛛池模板: 欧美不卡二区| 黄色免费在线网址| 亚洲天堂精品视频| 欧美在线伊人| 欧美国产日韩在线观看| 欧美a在线视频| 国产一级毛片在线| 伊人久久综在合线亚洲91| 中文字幕中文字字幕码一二区| 国产精品尤物在线| 国产精品网址你懂的| 一级毛片在线播放免费| 国产精品三级专区| 欧美日韩中文国产va另类| 日韩a在线观看免费观看| 免费在线色| 四虎精品黑人视频| 午夜国产精品视频| 国产高清毛片| 日韩不卡高清视频| 亚洲清纯自偷自拍另类专区| 一级黄色片网| 国产色伊人| 亚洲AV成人一区二区三区AV| 久久综合色天堂av| 亚洲精品无码久久久久苍井空| 欧美成人日韩| 国产粉嫩粉嫩的18在线播放91| 亚洲综合色婷婷中文字幕| 在线高清亚洲精品二区| 亚洲综合精品香蕉久久网| 成年A级毛片| 欧美日韩在线第一页| 91久久精品国产| www.国产福利| 免费Aⅴ片在线观看蜜芽Tⅴ | 欧美综合区自拍亚洲综合绿色| 国产精品一老牛影视频| 她的性爱视频| 精品人妻无码中字系列| 五月婷婷丁香综合| 99re在线免费视频| 久久中文电影| 国产无码精品在线播放| h网址在线观看| 亚洲视频欧美不卡| 无码免费视频| 亚洲爱婷婷色69堂| 亚洲九九视频| 91精品亚洲| 婷婷激情亚洲| 天堂成人av| 国产在线麻豆波多野结衣| 四虎免费视频网站| 亚洲三级影院| 免费在线看黄网址| 成人a免费α片在线视频网站| 高清免费毛片| 亚洲欧美成人在线视频| 婷婷五月在线| 精品自窥自偷在线看| 亚洲精品在线影院| 免费高清a毛片| 国产精品久久久久久久久| 色天天综合久久久久综合片| 永久免费精品视频| 久久久久无码国产精品不卡| 又粗又大又爽又紧免费视频| 国产色婷婷视频在线观看| 99久久亚洲综合精品TS| 欧美日韩第三页| 精品伊人久久大香线蕉网站| av无码久久精品| 99热这里只有免费国产精品| 国产在线观看第二页| 精品乱码久久久久久久| 毛片在线看网站| 国产不卡一级毛片视频| 国产一级一级毛片永久| 美女毛片在线| 欧美性精品不卡在线观看| 高h视频在线|