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编译运行的程序代码.

aspaspx的差别

.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的产物。