ISAPI

简介:

Internet Server Application Programming Interface (ISAPI)是IIS的多层API。是可被微软IIS加载和调用的DLL。用于扩展HTTP服务器的功能。

ISAPI 也能够由Apache的mod_isapi模块实现,这样在微软的IIS运行的服务器端WEB应用程序也能在Apache上使用,其他第三方的服务器例如Zeus Web Server也提供ISAPI接口。

微软的WEB服务器是Internet Information Services,他是由许多子应用程序组成,非常的可配置化。ASP.NET就是IIS中的一个子应用程序。ISAPI是一个很低级的编程系统,所以提供了更好的性能。

ISAPI由2部分组成,ISAPI扩展和ISAPI过滤。只有两种类型的应用程序可以用ISAPI开发。过滤和扩展必须被编译成DLL,然后注册到IIS才能运行。

ISAPI应用程序可以由任何语言编写,有很多的库可以帮助简化ISAPI的开发,另外,有一种叫ATL Server的技术专门开发ISAPI程序。( ATL Server 是一个用来创建 ISAPI DLL 的 C++ 模板库。)

ISAPI扩展

ISAPI扩展是真实的运行在IIS上的应用程序,他们可以利用IIS提供的所有功能。ISAPI扩展以DLL的方式实现,他们被加载到由IIS控制的进程中,客户端可以用访问静态html的方法和访问ISAPI扩展的方法一致。某种文件扩展名或者文件夹或者站点都可以被映射,由ISAPI扩展去处理。

以下是常用的作为实现ISAPI扩展的ISAPI应用程序。

Active Server Page(ASP).标准安装

ASP.NET.IIS6.0前面版本,标准安装

ColdFusion,后期版本的ColdFusion可以装在IIS上

Perl

PHP

 

ISAPI过滤

ISAPI过滤用来修改或者提升IIS的功能。他们总是运行在IIS上,过滤每一个请求直到他们找到需要处理的请求。ISAPI过滤可以通过编程来检查和修改发送进来的数据和发送出去的数据。内部编程和外部配置决定了过滤调用的顺序。类似于Windows中的钩子,ISAPI过滤器将在发生某些特定事件的时候被调用(例如客户请求网页),可监视、拦截或修改客户端与服务器直接的传输数据。常用作数据库防下载、加密和压缩数据、统计访问人数等。

过滤以DLL的方式实现,可以以站点级别或者全局级别被注册到IIS服务器,比如,他们可以被应用到IIS服务器上的所有站点。过滤器,当工作进程开始运行,过滤器就会被初始化,并且开始监听所有的请求。

ISAPI过滤器实现的通常的任务

iis_isapi_filters

包括:

改变客户端发送来的请求数据(url和标头)。

控制物理文件和URL之间的映射。

控制你们用户的用户名和密码或者基本的认证。

修改或者分析认证完成后的请求。

修改要发送给客户的Response。

运行“access denied”响应。

当请求完成后运行处理。

当客户端关闭是运行处理。

执行专用日志和流量分析。

执行客户授权。

处理压缩和解压缩。

















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/591258 ,如需转载请自行联系原作者



相关文章
|
8月前
|
Windows
利用IIS虚拟目录写马至中文路径
利用IIS虚拟目录写马至中文路径
79 0
|
Web App开发 测试技术
IIS6.0、IIS7.5的伪静态组件ISAPI_Rewrite安装和配置方法
Win7/Windows2003下IIS6.0、IIS7.5的伪静态组件安装和伪静态配置方法,还包括常用的伪静态规则使用方法。 1)下载IIS伪静态组件——ISAPI_Rewrite3完全破解版 ISAPI_Rewrite3非常好用,是个人见过最好用同时可以支持多站点的IIS伪静态组件!1、官网下载(http://www.
1972 0
|
Web App开发 Windows
Framework4.0 IIS7下urlrewriter设置问题
一、Web.config配置解决办法     直接在Web.config下 加入:    1.             2.                3.                                    说明:如果是IIS7 和 Framework 2.0时,不需要红色字体部分,把v4.0.30319改成对应的2.0的版本号。
1093 0
|
.NET Windows
ISAPI和CGI限制中没有ASP.NET v4.0
[服务器搭建]ISAPI和CGI限制中没有ASP.NET v4.0解决方式: 1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重新装一下,一般出现404.2时这么干 2.如果你是先装了IIS然后才装了.
1687 0