Html 与 aspx 之间区别
.html是静态页面,而.aspx则是动态页面。
ASP全名是Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的
WEB服务应用程序。ASP采用脚本语言VB Script OR Java Script 作为自己的开发语言,它可以连接数据库是动态页面!
而HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面
这些页面可以被网上任何其他人浏览到,无论是用的是什么类型的电脑或浏览器。
HTML 与 ASPX的工作机制
静态页面的工作机制
- 使用HTML编写静态页面,发布到WEB服务器端。
- 客户端通过浏览器请求该静态页面
- Web服务器根据请求定位该静态页面
- 该静态页面以HTML流的形式返回客户端。
- 客户端浏览器解释HTML流,并显示为WEB页面
动态页面的工作机制:
- 使用动态WEB开发技术编写的WEB应用程序,即动态页面,并发布到WEB服务器端
- 客户端通过浏览器请求该动态页面
- WEB服务器定位该WEB应用程序
- WEB服务器根据客户端的请求,对WEB应用程序进行编译或解释,并生成HTML流
- 将生成的HTML以流的形式返回给客户端
- 客户端浏览器解释HTML流,并显示为WEB页面。
.NET Framework (.NET 架构)
.NET 架构旨在实现以下目标:
- 提供一个一致的面向对象的变成环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或远程执行的
- 提供一个将软件部署和版本控制冲突最小化的代码执行环境
- 提供一个可提高代码执行安全性的代码执行环境
- 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境
- 使开发人员的经验在面对类型大不相同的应用程序时保持一致
- 按照工业化标准生成所有通信,以确保基于.NET Framework的代码可与任何代码集成。
.NET 架构具有两个重要组件:公共语言运行库和.NET Framework的类库。
- 公共语言运行库是.NET Framework的基础。您可以将运行库看作为一个在执行过程时管理代码的代理,它提供内存管理、线程管理和远程管理等核心服务
以代码运行库为目标的代码是托管代码,而不以运行库为目标的代码是非托管代码。
- .NET Framework的另一个组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序。
IIS Internet Information Service的工作原理
当你按“如何去做”所讲解的内容去开发程序的时候,对于你的用户,你仍是一个程序员;但对于实现了MembershipProvider和RoleProvider抽象类的微软开发人员来说,
你已经成为了他们的一个用户。
- 当服务器接收到一个Http请求的时候,IIS首先需要决定如何去处理这个请求,那么IIS该如何出来呢? ——根据文件的后缀名。
服务器获取所请求的页面的后缀名以后,接下来会在服务器端寻找可以处理这类后缀名的应用程序,如果IIS找不到可以出来此类文件的应用程序,并且这个文件也
没有收到服务器端的保护,那么IIS将直接把这个文件返回给客户端。
- 能够处理各种后缀名的应用程序,通常称为ISAPI应用程序(Internet Server Application Programe Interface,互联网服务器应用程序接口):它实际上只是一个接口,
起到一个代理的作用,它的主要工作是影射所请求的页面(文件)和与此后缀名相对应的实际的处理程序。
我们找到.aspx的应用程序,点击“编辑”,会出现下面的画面:
一路看来,可以看出,所有的.aspx文件实际上都是由aspnet_isapi.dll这个程序来出来的,当IIS把对于.aspx页面的请求交给aspnet_isapi.dll以后,它就不再
关心这个请求随后是如何处理的了。现在我们知道:ASP.NET只是服务器(IIS)的一个组成部分而已,它是一个ISAPI扩展。
- 理解宿主程序。从本质上讲,ASP.NET主要是一系列的类组成,这些类的主要目的就是将Http请求转变为对客户端的响应。HttpRuntime类是ASP.NET的一个
主要入口,它有一个称作ProcessRequest的方法,这个方法以一个HttpWorkerRequest类作为参数。HttpRuntime类几乎包含着关于单个Http请求的所有信息:
所请求的文件、服务器端变量、QueryString、Http 头信息等等。ASP.NET使用这些信息来加载、运行正确的文件,并且将这个请求转换到输出流中,一般来说,
也就是HTML页面。
- 理解管道(handler)
1. HttpRuntime将Http请求转交给HttpApplication,也就代表着程序员创建的Web应用程序。HttpApplication创建针对此Http请求的HttpContext对象,这些对象包含了
关于此请求得诸多其他对象,主要是HttpRequest,HttpResponse,HttpSessionState等。
2. 接下来Http请求通过一系列的Module,这些Module对Http请求有完全的控制权。这些Module可以做一些执行某个实际工作前的事情
3. Http经过所有的Module之后,它会被HttpHandler处理。在这一步,执行一些实际的操作,通常也就是.aspx页面的业务逻辑。
总结
所以说,由一点触发,发散思维,有时候可以理解很多东西。