作为ASP .NET开发人员,今天我正在探讨当ISAPI filter
点击我时IIS网络服务器的内部工作。我对ASP .NET运行时内的ASP .NET Web请求有一个了解,我们有两个概念:
HTTP Modules
:在您的请求到达HTTP处理程序之前充当请求文件管理器。您可以在此阶段分析http标头以作出有条件的决定。HTTP Handler
:执行* .aspx页面请求实际处理的任何http网络请求的终点。所以我对HTTP Modules
和IIS等Internet网络服务器公开的ISAPI modules
感到困惑。有人能帮我理解两者之间的区别吗?它们是否也有来自旧时代网络服务器的CGI网络请求服务范式的任何根源?
答案 0 :(得分:2)
如果您知道IIS的处理管道是什么,那么模块会在某些处理阶段(身份验证/授权等)注册,并处理所有传入请求。
但是,过滤器仅在单个阶段使用(生成响应),通常仅应用于某些类型的请求(除非使用通配符)。
通常管理HTTP模块,而ISAPI模块不受管理。