HTTP处理程序和HTTP模块及ISAPI模型

      一 ISAPI模型 
       web服务器主要是一个服务器应用程序,使用了大量的internet协议,而且他通常还实现了自己的应用程序编程接口,最早的是CGI,现在,IIS中的ISAPI也是一个这样的接口。
       ISAPI模型
       1 使用该模型时,IIS不为每个请求生成一个单独的进程,而是将ISAPI组件加载到自己的进程中,接着调用该DLL上的入口点来进行处理
      2 ISAPI模型组件的结构:该DLL主要有2个函数,GETEXTENSIONVERSION和GETEXTENSIONPROC,前者由于加载服务器扩展时,设置ISAPI服务器扩展的版本和名称,且他只被调用一次。
      3 ISAPI扩展是CGI应用程序在IIS进程内的对应部件。他是一个在IIS或另一宿主应用程序中的DLL,每次调用时生成一个实例,修改便重新加载。
      4 ISAPI筛选器是在服务器处理服务器事件时对他们进行截取的组件。
      二 HTTP处理程序
      概念:他是一个实现了IHTTPHANDLER接口的类,用于对请求的资源进行真正的处理,他是.NET组件。
                  ASP.NET有自己内部的HTTP处理程序,其中aspx页面就是一个HTTP处理程序,同时,我们可以自定义HTTP处理程序以处理我们的请求。
     自定义HTTP处理程序的实现:
                1 实现IHTTPHANDLER接口的REQUESTPROC方法。
                2 在WEB.CONFIG文件进行注册。
      三 HTTP模块
      概念:他是实现了IHTTPMODULE接口的类,负责监听应用程序级事件,同样是一个.NET组件。
                  ASP.NET有自己内部的HTTP模块,同时,我们可以自定义HTTP模块。
      自定义HTTP模块的实现:
                 1 实现接口的2个方法,int()和dipose(),前者主要初始化模块,定义监听事件,后者是清除出了内存以为的所有资源。
      其实HTTP处理程序和HTTP模块就如同ISAPI扩展和ISAPI筛选器,只不过前者是.NET组件,后者是CGI,都是一种编程模型。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值