2016-07-04 38 views
0

作为ASP .Net开发者,今天我在探索IIS Web服务器的内部工作,当这个ISAPI filter打我时。我的ASP.NET运行时内部的ASP.NET Web请求的想法,我们有两个概念:ISAPI过滤器和ASP .Net Http模块的区别

  1. HTTP Modules:作为请求文件管理器的请求到达HTTP处理程序之前。您可以在此阶段分析http标题以进行有条件的决定。
  2. HTTP Handler:执行* .aspx页面请求的实际处理的任何http web请求的终点。

因此,我对HTTP ModulesISAPI modules之间的互联网Web服务器,如IIS显示混淆。有人能帮我理解两者之间的区别吗?他们是否也有从互联网Web服务器的旧时代的CGI Web请求服务范式的根源?

回答

2

如果您知道IIS的处理管道是什么,那么模块将在特定的处理阶段(认证/授权等)进行注册并处理所有传入的请求。

但是,过滤器仅用于单个阶段(生成响应),通常仅适用于某些类型的请求(除非通配符)。

HTTP模块通常在ISAPI模块不受管理的情况下进行管理。