使用 Web 服务器应用程序设计接口 (API) 而不是 CGI 可以很大地改进 Net.Data 的 性能。Net.Data 支持以下服务器 API:
有关每个 API 的更多信息,参见使用 Web 服务器 API以及您所使用的 Net.Data 版本的 自述文件。
要求:要以 GWAPI、ISAPI 或 NSAPI 方式 运行 Net.Data,您必须重新配置 Web 服务器,以便将 Net.Data DLL 或共享程序库用作 它的服务命令。重新配置之后,您必须重新启动 Web 服务器以使 Net.Data 初始化文件的更改生效。缺省情况 下,Net.Data 以 CGI 方式运行。
以下章节描述了如何配置 Net.Data 和 Web 服务器以运行 Web 服务器 API 方式。其中 提供了一般步骤和示例,但它们可能和您的操作系统有所不同。参见针对您所使用的操作系统 的 Net.Data 的自述文件,以获取特定的指导。
要配置 GWAPI:
参见针对您所使用的操作系统的 Net.Data 的自述文件或 程序目录,以获取特定的文件和目录名称。
例如:
Service /cgi-bin/db2www* /home/http/cgi-bin/dtwicapi.o:dtw_icapi*
参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。
GWAPI 具有完全兼容性,可支持现存应用程序。使用与 CGI 相同的方法来调用 URL 和表,或者与 GWAPI 相链接。 使用 CGI 成功执行的宏也可以使用 GWAPI 来成功执行。不需要对这些宏作任何修改。
/inetsrv/scripts/dtwisapi.filetype
其中的 filetype 对 于 Windows NT 和 OS/2 来说是 .dll,对于 UNIX 操作系统来说则是 .o。
参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。
http://server1.stl.ibm.com/cgi-bin/db2www/test1.d2w/report
那么您应使用以下 URL 将 Net.Data 作为 ISAPI 插件来调用:
http://server1.stl.ibm.com/scripts/dtwisapi.dll/test1.d2w/report
http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.d2w/report
那么,在 ISAPI 方式中调用 Net.Data 的等价的 URL 是:
http://server1.stl.ibm.com/scripts/dtwisapi.dll/orders/test1.d2w/report
/netscape/server/bin/httpd/dtwnsapi.filetype
其中的 filetype对 于 Windows NT 和 OS/2 来说是 .dll,对于 UNIX 操作系统来说则是 .o。
参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。
obj.conf | 添加到文件开头:
Init fn="load-modules" shlib="<path>dtwnsapi.dll" funcs=dtw_nsapi |
obj.conf | 添加到服务命令:
Service fn="dtw_nsapi" method=(GET|HEAD|POST) type="magnus-internal/d2w" |
mime.types | 添加此类型,其中 d2w 是宏的缺省扩展名。您可以指定任意的三个字符的组合。
type=magnum-internal/d2w exts=d2w |
/netscape/server/docs/
http://server1.stl.ibm.com/cgi-bin/db2www/test1.d2w/report
而以下 URL 将 Net.Data 作为 NSAPI 程序调用:
http://server1.stl.ibm.com/test1.d2w/report
如果将 Net.Data 宏放在几个目录中,那么最后的三个步骤改为:
http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.d2w/report
经过修改后, 在 NSAPI 方式中调用 Net.Data 的 URL 要短一些,但仍保留了目录名:
http://server1.stl.ibm.com/orders/test1.d2w/report