Request Api
No | Api | AppService |
---|---|---|
1 | /api/ActRole/GetPageRole | GetPage |
2 | /api/ActRole/BatchDeleteRole | BatchDelete |
3 | /api/ActRole/GetRoleInfo | GetInfo |
4 | /api/ActRole/CreateRole | Create |
5 | /api/ActRole/UpdateRole | Update |
UrlRouting
System.Web.Routing用于在Asp.net的Web應(yīng)用程序中進(jìn)行URLRouting。
說明:HttpHandler是一個(gè)HTTP請(qǐng)求的真正處理中心匣掸。在HttpHandler容器中轻庆,ASP.NET Framework才調(diào)用HttpHandler的ProcessRequest成員方法來對(duì)這個(gè)HTTP請(qǐng)求進(jìn)行真正的處理,真正地對(duì)客戶端請(qǐng)求的服務(wù)器頁面做出編譯和執(zhí)行慕蔚,并將處理過后的信息附加在HTTP請(qǐng)求信息流中再次返回到HttpModule中。
UrlRouting的實(shí)現(xiàn)原理
為了方便大家理解我繪制了一個(gè)UML圖斋配,其中通過RouteTable的Routes這個(gè)屬性可以獲取一個(gè)RouteCollection的Singleton模式孔飒,雖然在其中并沒有判斷值不存在時(shí)才初始化的Singleton的標(biāo)志性行為,但是它是在Application_Start事件中進(jìn)行初始化的艰争,并且直到應(yīng)用程序進(jìn)程終結(jié)坏瞄,所以是Singleton模式的。
GZIP Compress
GZIP壓縮是一個(gè)經(jīng)常被用到的WEB性能優(yōu)化的技巧甩卓,它主要是對(duì)頁面代碼鸠匀,CSS,Javascript逾柿,PHP等文件進(jìn)行壓縮缀棍,而且在壓縮的前后宅此,文件的大小會(huì)有明顯的改變,從而達(dá)到網(wǎng)站訪問加速的目的爬范。
接下來我們就介紹一下什么是GZIP壓縮父腕,以及GZIP壓縮是個(gè)什么概念。
GZIP網(wǎng)頁壓縮青瀑,是一種WEB服務(wù)器與瀏覽器之間共同遵守的協(xié)議璧亮,也就是說WEB服務(wù)器和瀏覽器都必須支持該技術(shù)才能實(shí)現(xiàn)GZIP壓縮,而當(dāng)下主流的瀏覽器都是支持GZIP壓縮狱窘,包括IE6杜顺、IE7、IE8蘸炸、IE9躬络、FireFox、谷歌瀏覽器搭儒、Opera等穷当,而常見的WEB服務(wù)器通常有Apache和IIS兩種。
GZIP最早由Jean-loup Gailly和Mark Adler創(chuàng)建淹禾,用于UNIX系統(tǒng)的文件壓縮馁菜。我們?cè)贚inux中經(jīng)常會(huì)用到后綴為.gz的文件,它們就是GZIP格式的铃岔。目前汪疮,GZIP已經(jīng)成為Internet上使用非常普遍的一種數(shù)據(jù)壓縮格式,或者說一種文件格式毁习。
下面介紹一下GZIP壓縮時(shí)智嚷,WEB服務(wù)器與瀏覽器之間的協(xié)商過程如下:
- 首先瀏覽器請(qǐng)求某個(gè)URL地址,并在請(qǐng)求的開始部分頭(head) 設(shè)置屬性accept-encoding值為gzip纺且、deflate盏道,表明瀏覽器支持gzip和deflate這兩種壓縮方式(事實(shí)上deflate也是使用GZIP壓縮協(xié)議);
- WEB服務(wù)器接收到請(qǐng)求后判斷瀏覽器是否支持GZIP壓縮载碌,如果支持就傳送壓縮后的響應(yīng)內(nèi)容猜嘱,否則傳送不經(jīng)過壓縮的內(nèi)容;
- 瀏覽器獲取響應(yīng)內(nèi)容后嫁艇,判斷內(nèi)容是否被壓縮朗伶,如果是壓縮文件則解壓縮,然后顯示響應(yīng)頁面的內(nèi)容步咪。
HTTP協(xié)議上的GZIP編碼是一種用來改進(jìn)WEB應(yīng)用程序性能的技術(shù)腕让。大流量的WEB站點(diǎn)常常使用GZIP壓縮技術(shù)來讓用戶感受更快的速度。這一般是指 WWW服務(wù)器中安裝的一個(gè)功能,當(dāng)有人來訪問這個(gè)服務(wù)器的網(wǎng)站時(shí)纯丸,服務(wù)器的這個(gè)功能就將網(wǎng)頁內(nèi)容壓縮后傳輸?shù)絹碓L的電腦瀏覽器中顯示出來。一般對(duì)純文 內(nèi)容可壓縮到原大小的40%静袖,這樣以來文件的體積就減小了很多觉鼻,傳輸速度也就快了。效果就是你點(diǎn)擊網(wǎng)址后會(huì)很快的顯示出來队橙。當(dāng)然這也會(huì)增加服務(wù)器的負(fù)載坠陈,一般的服務(wù)器中都會(huì)安裝有這個(gè)功能模塊。
GZIP壓縮的比率往往在3倍到10倍捐康,也就是本來90k大小的頁面仇矾,采用壓縮后實(shí)際傳輸?shù)膬?nèi)容大小只有28至30K大小,這可以大大節(jié)省服務(wù)器的網(wǎng)絡(luò)帶寬解总,同時(shí)如果應(yīng)用程序的響應(yīng)足夠快時(shí)贮匕,網(wǎng)站的速度瓶頸就轉(zhuǎn)到了網(wǎng)絡(luò)的傳輸速度上,因此內(nèi)容壓縮后就可以大大的提升頁面的瀏覽速度花枫。
在實(shí)際應(yīng)用中刻盐,我們并不需要對(duì)網(wǎng)站所有文件都進(jìn)行壓縮,只需要對(duì)靜態(tài)文件進(jìn)行壓縮就可以了劳翰,比如Javascript敦锌、CSS及和HTML文件。對(duì)其他文件進(jìn)行壓縮并不會(huì)給WEB性能帶來太多的改觀佳簸,并且對(duì)網(wǎng)站開啟GZIP功能是需要犧牲部分服務(wù)器性能的乙墙。而且對(duì)于FLASH文件來說開啟GZIP壓縮之后還會(huì)影響其效果。