IIS ASP.NET的本质与联系浅析

开发 后端
IIS ASP.NET的本质与联系是什么呢?我们将会在这篇文章中找到答案,开始我们IIS ASP.NET的学习吧。

IIS ASP.NET的本质与联系是什么呢?首先让我们看看什么是ASP.NET,ASP.NET对于编写WEB应用程序以及组件来说是一个很好的框架,但是由于他的庞大性对于很多人来说要了解他的每一个细节好象是否不太可能,我一直认为有必要了解一下基层结构的工作原理以便在设计时获取更高的性能,在接下来的一系列文章中,我将要描叙一下WEB的生命周期,从当请求被服务器接受开始,传送到ASP.NET管道处理一直到生成回送信息(如:HTML)在管道处理后期。

IIS ASP.NET的本质与联系之ASP.NET介绍

Microsoft Active Server Pages(微软动态网页服务),同样也被大家称为ASP,首先是在1996年末年发布的,为程序员提供一个用来建立WEB应用程序丰富复杂的框架。几年后,他的基础构造发展改进了很多,也就是大家现在所了解的ASP.NET.ASP.NET是一个用来构件WEB应用程序的框架,也就是说,他必须运行在WEB服务上,用客服端-服务端模型了表述的话通常是浏览器发送不同类型的资源请求到WEB服务器。在出现动态服务器资源生成技术(如CGI,PHP,JSP以及ASP),所有的WEB服务只能接受客服端的静态资源请求并把他们回送到客服端。

表面上看起来,这样在服务端和客户端的交互是非常的简单。会话通过HTTP协议进行,他是一个建立在TCP和IP协议(用来在2个连接到不同类型的网络端点交换数据,如我们所知道的WWW万维网)上的应用程序级协议。

本质上任何动态服务器技术需要运行在特定WEB服务上,同样ASP.net紧密地和微软因特网信息服务,也叫做IIS。

不同的服务选择不同的方式去生成动态资源等等。。。我们将要解析一下IIS是怎么做到的当一个请求信息一旦到达服务端以及***回送到客户端。

IIS ASP.NET的本质与联系之IIS and ISAPI 扩展

如上面提到的,静态资源不需要被服务器处理;一旦这样的资源请求到达服务器,服务器只需要从文件系统中找到他的内容并且以字节流形式发送到客户端通过HTTP协议。静态资源可以是图片,javascript,CSS或者普通HTML页面。很显然服务器需要知道怎样去区分静态和动态资源,动态资源需要如何被处理而不是直接发送回客户端。因此出现了ISAPI扩展,ISAPI是因特网服务应用程序编程的接口。ISAPI作为模块被执行如早期的Win32.dll.IIS依靠ISAPI来处理特定的资源。通过IIS映射ISAPI扩展和文件的方式,把每种文件扩展类型关联到特定的ISAPI扩展,也就是说,当一个请求某种文件的请求到达,IIS处理并转到相应的ISAPI扩展,以确认这种请求能被处理。

配置ISAPI扩展映射 

图表1:在IIS5.0中配置ISAPI扩展映射

ISAPI扩展明显需要符合一个通用接口,这样他们才能被IIS调用并提供必要的数据用来处理请求和生成回送。

如图1,.ASP扩展名被映射到asp.dll ISAPI扩展;在ASP处理时段,这个组件负责执行所有需要的任务去生成回送,也就是说,通过收集请求信息,并使得他能够在ASP页面可用,其他ASP内部对象,解析并执行ASP页面***以HTML形式返回结果。

尽管,这样相对于CGI技术来说已经是很大的进步了,但是ASP.net更强大。

在安装ASP.NET后,ASP.NET配置IIS 把ASP.NET指定的文件请求重定向到一个新的ISAPI扩展aspnet_isapi.dll.这个扩展有些不同于以前的asp.dll扩展。

表格I:aspnet_isapi.dll在IIS应用程序中的映射

ExtensionResource Type

.asaxASP.NET 应用程序文件. 常用的有 global.asax.

.ascxASP.NET 用户控件文件.

.ashxHTTP handlers, the managed counterpart of ISAPI extensions.

.asmxASP.NET web services.

.aspxASP.NET web pages.

.axdASP.NET internal HTTP handlers.

除了表格1所列出的文件扩展名,ASP.NETISAPI扩展也管理其他一些通常不提供给浏览器访问的文件扩展类型,如Visual Studio工程文件,资源文件以及配置文件。

IIS ASP.NET的本质与联系就向你介绍到这里,关于IIS ASP.NET的学习我们还将在别的文章中涉及。

【编辑推荐】

  1. ASP.NET获取MAC地址与IP地址的程序浅析
  2. ASP.NET实现静态页面方法浅析
  3. ASP.NET连接字符串的遍历浅析
  4. ASP.NET缓存的种类及特点浅析
  5. ASP.NET页面跳转的三大方法详解
责任编辑:仲衡 来源: cnblogs
相关推荐

2009-07-28 10:59:13

ASP.NET IIS

2009-07-24 14:03:02

IIS ASP.NET

2009-07-24 15:47:35

ASP.NET与ASP

2009-07-28 14:10:14

2009-07-28 16:16:46

IIS5与IIS6.0ASP.NET

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-20 15:19:52

ViewState本质ASP.NET

2009-07-27 10:18:12

TypeResolveASP.NET

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-07-27 15:34:11

MembershipASP.NET

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 18:03:00

ASP.NET ASP

2009-07-24 11:15:36

IIS ISAPI eASP.NET

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-29 14:12:45

ASP.NET tra

2009-07-28 16:40:11

ASP.NET异步页面

2009-08-05 14:46:17

ASP.NET url

2009-07-23 14:31:20

ASP.NET MVC
点赞
收藏

51CTO技术栈公众号