何为 ISAPI

ISAPI即为Internet Server Application Programming Interface

ISAPI 服务器扩展

ISAPI 服务器扩展是可以被 HTTP 服务器加载和调用的 DLL。Internet 服务器扩展也称为 Internet 服务器应用程序 (ISA),用于增强符合 Internet 服务器 API (ISAPI) 的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口 (CGI) 应用程序。

ISAPI筛选器

ISAPI筛选器是在启用 ISAPI 的 HTTP服务器上运行的 DLL,用以筛选与服务器之间来回传送的数据。该筛选器注册事件的通知,例如登录或 URL 映射。当发生选定事件时,筛选器被调用,并且您可以监视及更改数据(在数据从服务器传输到客户端或相反的过程中)。可以使用 ISAPI筛选器提供增强的 HTTP 请求记录(例如,跟踪登录到服务器的用户)、自定义加密、自定义压缩或其他身份验证方法。

优点

用户可以填写窗体,然后单击提交按钮将数据发送到Web 服务器并调用 ISA,ISA 可以处理这些信息以提供自定义内容或将这些信息存储在数据库中。Web服务器扩展可以使用数据库中的信息动态生成 Web 页,然后将其发送到客户计算机进行显示。应用程序可以使用 HTTP 和HTML添加其他自定义功能并将数据提供给客户端。

服务器扩展和筛选器均在 Web 服务器的进程空间中运行,这样就为扩展服务器的功能提供了有效的手段。

CGI

ISAPI服务器扩展为使用 Internet 服务器的通用网关接口(CGI) 应用程序提供了另一种选择。与 CGI 应用程序不同,ISA 在 HTTP服务器所在的同一地址空间运行,并且可以访问可由 HTTP 服务器使用的所有资源。ISA 的系统开销比 CGI 应用程序低,因为它们不要求创建其他进程,也不执行需要越过进程边界的通信,而这种通信非常耗时。如果内存被其他进程所需要,扩展和筛选器DLL 都可能被卸载。

Internet客户端通过 HTTP服务器调用 ISA 的方法与调用 CGI 应用程序的方法一样。例如,客户端可以这样调用一个 CGI 应用程序:

http://sample/example.exe?Param1&Param2

它可以这样调用一个执行相同功能的 ISA:

http://sample/example.dll?Param1&Param2

ISAPI 允许在一个 DLL 中有多个命令,这些命令作为 DLL 中CHttpServer对象的成员函数来实现。CGI 要求每个任务有一个单独的名称和一个到单独的可执行文件的 URL 映射。每个新的 CGI 请求启动一个新进程,而每个不同的请求包含在各自的可执行文件中,这些文件根据每个请求加载和卸载,因此系统开销高于 ISA。

ISAPI筛选器没有等效的 CGI 筛选器。筛选器提供预处理和后处理在客户端和服务器之间发送的所有数据的能力。

时间: 2024-12-27 19:37:30

何为 ISAPI的相关文章

何为绩效管理

何为绩效管理 --摘自<公司开了,你该这样管理>作者:张国祥 何为绩效管理 绩效是工作的有效成果.员工绩效就是员工工作的有效成果,企业绩效就是企业组织有效业绩的总和. 所谓绩效管理就是对绩效目标设立.达成.评价.运用.提升的循环管理过程. 企业管理本质上就是绩效管理.采用什么方法提高绩效管理水平因企业而异. 目前太多企业只有绩效考核,没有绩效管理:只有结果打分,不管过程改善.甚至很多企业只知绩效考核.不知绩效管理.实施绩效考核的企业员工报怨的多.满意的少.为什么会这样? 可能存在的原因如下:

WEB服务器5--IIS中ISAPI扩展、ISAPI筛选器

在IIS的文档中经常会提到两个术语:ISAPI扩展和ISAPI筛选器. ISAPI扩展 “ISAPI扩展(ISAPI Extension)”是一种可以添加到IIS中以增强Web服务器功能的程序,其载体为DLL文件.通常直接负责响应HTTP请求. 根据HTTP请求要访问的资源扩展名(通过URL获取),IIS会选取特定的ISAPI扩展来处理这一请求,这一过程被称为“程序映射”. 而用于响应HTTP请求的这一ISAPI扩展被称为“HTTP Handler(HTTP处理程序)”. 图 8?11展示了II

C和C++的面向对象专题(1)——何为面向对象

题记: 面向对象是一种思想,而不是一门语言 我们上哪去找对象,都面向对象去了 本专栏文章列表 一.何为面向对象 二.C语言也能实现面向对象 三.C++中的不优雅特性 四.解决封装,避免接口 五.合理使用模板,避免代码冗余 六.C++也能反射 七.单例模式解决静态成员对象和全局对象的构造顺序难题 八.更为高级的预处理器PHP 一.何为面向对象 现在学软件开发,都讲面向对象的编程模型,其实也很简单.用一句话来总结,面向对象就是将方法和方法的属性整合在一起,让每个方法引用的属性值尽可能在对象内部,对外

何为抽象?你有本末倒置吗?

一.何为抽象? 提到抽象,你会想到什么?是这些吗? 抽象是面向对象的基础,有了抽象才会有面向对象的三大特征:继承,封装,多态. 层与层联系要依赖抽象,上层依赖抽象,下层也要依赖抽象. 总之一句话,编程就是要依赖抽象. 等等这类的话,我们朗朗上口.那么回头再来看这些,它到底是什么? 它不是抽象,它是抽象的一些体现,也就是说这都是抽象后的结果,抽象的优点好处.作为程序员的我们要的就是抽象带来的这些结果,但是我们更重要的一个任务是,如何做出"抽象"?把抽象敲出来,有代码来体现.对于程序员来说

何为.Net Remoting【转】

借助基维百科给它的定义如下: NET Remoting 是微软 .NET Framework 中的一种网络通讯技术,与 XML Web Service 不同的是,它可以使用 SOAP 以外的协定来通讯,而在伺服端和用户端之间所操作的方法近乎相同,用户端可以不必考虑使用的协定,即可存取伺服端所开放的物件.这个技术与是由Distributed COM所发展而来的,与DCOM最大的不同是,DCOM有限制使用 TCP Port,但.NET Remoting 可以选择使用 TCP 或 HTTP 的方式通讯

详谈何为404错误及404处理方法

404问题绝对关乎网站的优化,而大部分网站都会有404错误的相关处理,比如一个网站删除了页面内容,正常网站将自动返回404状态码,搜索引擎进行更新并删除,避免对网站用户及搜索引擎带来负面影响.但问题来了,如果网站只删除了内容,没有任何主体内容的页面被保存了下来,未做404处理.当然,存在一类网站只删除内容后返回正常200状态码,提醒一句"该内容已删除",但其都没有.可以发现目前这个搜藏中的url仍然正常返回200,http://cang.baidu.com/Lee/snap/3b0a0

何为&ldquo;精通Java&rdquo;

何为精通Java?本来Java仅仅是一门语言,但从应用技术的角度来看,精通Java是可以无边无际的.很可能你可以对James说:我精通J2EE.JVM.Java服务器.大数据等等一些和Java相关的应用:况且这些应用是随着时间的发展而扩散的.那James就单纯从语言角度出发,整合网络上所看到的资料说一说. 怎么才算是精通Java呢?针对这一点,可从两个方面解读:纵向(从语言角度),在于深度:横向(从应用角度),在于广度. 从语言角度来说,也从一般人能够做到的程度,讲述James自己的体会: 1.

关于INTRAWEB ISAPI DLL发布

DELPHI XE7自带的INTRAWEB 14开发的EXE程序不能在IE 11浏览器里面运行,不兼容,同一个程序在CHROME里面却运行正常. 编译的ISAPI程序,在两种浏览器里都不能执行,在IIS管理器的设置正确的前提下. 看来INTRAWEB程序的发布兼容何种浏览器的何种版本是一个大问题. 怎样将Stand Alone App变为ISAPI Dll? 一是将工程文件中的program改成library,二是将uses里的IWInitStandAlone改成IWInitISAPI,没有该文

ISAPI和CGI限制中没有ASP.NET v4.0 ; vS2013检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

统确实自带了ASP.NET v4.0,但是ISAPI中没有这个选项,导致服务器开不起来 解决方法如下: 1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重新装一下,一般出现404.2时这么干 2.如果你是先装了IIS然后才装了.NET,那就需要把.NET再注册一下,一般出现404.17时这么干 命令是:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 重启IIS就可以看到了       S2013