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,都是一种编程模型。
     
  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

JL99000

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值