ASP是動態server頁面(Active Server Page)的英文縮寫。[1]是微軟公司開發的取代CGI腳本程序的一種應用。它能夠與數據庫和其他程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp。如今經常使用於各種動態站點中。
ASP.NET是由微軟在·NETFramework框架中所提供,開發Web應用程序的類庫,封裝在System.Web.dll文件里。顯露出System.Web命名空間。並提供ASP.NET網頁處理、擴充以及HTTP通道的應用程序與通信處理等工作,以及WebService的基礎架構。ASP.NET是ASP技術的后繼者,但它的發展性要比ASP技術要強大很多!
.aspx文件是微軟的在server端運行的動態網頁文件。通過IIS解析運行后能夠得到動態頁面。是微軟推出的一種新的網絡編程方法,而不是asp的簡單升級,由於它的編程方法和asp有非常大的不同。他是在server端靠server編譯運行的程序代碼.
asp與aspx的差別
.asp是asp的文件后綴名
.aspx是asp.net的文件后綴名
說直白些,這樣的文件就是動態的網頁~
asp.net又叫 asp+ 是動態網絡編程的一種設計語言。
所謂動態網 就如 bbs 留言板聊天室等等```
能夠用 asp,php,jsp.net來寫
那么你提到到的asp就是asp.net的前身了~~~
假設你初學 建議直接學asp.net他支持非常多語言的編寫 比方java c# vb.net 功能非常強
效率比asp高。visual studio.net支持編寫,程序結構清晰 。開發簡單(主要是他控件功能強大)安全性也高(他程序必須都在server端執行)
.ascx是asp.net的用戶控件,是作為一種封裝了特定功能和行為(這兩者要被用在Web應用程序的各種頁面上)的Web頁面被開發的。一個用戶控件包括了html、代碼和其它Web或者用戶控件的組合,並在Webserver上以自己的文件格式保存,其擴展名是*.ascx。asp.net里的缺省配置並不同意Webclient通過url來訪問這些文件。可是這個站點的其它頁面能夠集成這些文件中所包括的功能。
.ashx文件是主要用來寫web handler的。
使用.ashx 能夠讓你專注於編程而不用管相關的web技術。我們熟知的.aspx是要做html控件樹解析的。.aspx包括的全部html實際上是一個類,全部的html都是類里面的成員。這個過程在.ashx是不須要的。ashx必須包括IsReusable屬性(這個屬性代表是否可復用,通常為true),而假設要在ashx文件用使用Session必須實現IRequiresSessionState接口.
aspx要將前后台顯示和處理邏輯分開,所以就弄成了兩個文件,事實上,在終於編譯的時候,aspx和cs還是會編譯到同一個類中去.這中間就要設計html的一些邏輯處理。而ashx不同,它僅僅是簡單的對web http請求的直接返回你想要返回的結果.比aspx少處理了html的過程(可是ashx也能夠處理html的一些邏輯,僅僅是通常都不這么用)。
理論上ashx比aspx要快。
還是在同樣的舊文里,我們知道傳輸數據的幾種方式,事實上ashx都能夠實現(改動ashx文件中context.Response.ContentType 就可以),這里不再贅述了。ashx特別適合於生成動態圖片,生成動態文本(純文本,json,xml。javascript等就可以)等。
.ashx文件有個缺點:它處理控件的回發事件很麻煩。處理數據的回發。通常都須要一些.aspx頁的功能,僅僅有自己手動處理這些功能(還不如直接建一個aspx文件來處理)。
所以,一般使用.ashx輸出一些不須要回發處理的項目就可以。
小結:
aspx-->P(Page)
ascx-->C(Control)
ashx-->H(HttpHandler)
當瀏覽器訪問webserver。我們終於接收到的還是html文本。
瀏覽器通過渲染引擎解釋這些標簽。在屏幕上展現出可見的效果。而asp.net只是就是我們應用的一種平台技術來"變相"解釋html的,說白了它就是為了提高生產率,它的技術術語再多,本質上還是html范疇內的東西(假設你不通過那些動態頁面技術全然利用html和瀏覽器(當然包含js)技術來實現動態頁面效果。那么你會發現效果有了代碼量也相當可觀).所以說web開發的底層就是一堆的html標簽,不管是asp.net還是jsp都是對html某種方式的包裝,是html的產物。