使用 Web 服务器应用程序编程接口 (API) 而不是 CGI 可以很大地改进 Net.Data 的 性能。Net.Data 支持以下服务器 API:
有关每个 API 的详情,参见使用 FastCGI以及您所使用的 Net.Data 版本的 自述文件。
要求: 要以 ISAPI、或 NSAPI 方式运行 Net.Data, 必须重新配置 Web 服务器来将 Net.Data DLL 或共享库用作其服务伪指令。重新配置之后,您必须重新启动 Web 服务器以使 Net.Data 初始化文件的更改生效。缺省情况 下,Net.Data 以 CGI 方式运行。
将 Net.Data 配置为一次仅使用一个接口。例如, 若将 Web 服务器配置为使用 FastCGI 执行 Net.Data,就不要还将 Web 服务器配置为使用 ISAPI 或另一接口来执行 Net.Data。若您想稍后运行使用另一接口(如 NSAPI)的 Net.Data, 则单独针对新接口重新配置 Web 服务器。
以下章节描述了如何配置 Net.Data 和 Web 服务器以运行 Web 服务器 API 方式。其中 提供了一般步骤和示例,但它们可能和您的操作系统有所不同。参见针对您所使用的操作系统 的 Net.Data 的自述文件,以获取特定的指示信息。
要配置 Apache API:
例如:
LoadModule db2www_module /pot/netdata/lib/libmod_db2www.so AddHandler db2 www_handler .db2www
参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。
APAPI 仅在 Windows NT、Linux 和 Linux s/390 上受支持。
/inetsrv/scripts/dtwisapi.filetype
其中的 filetype对 于 Windows NT 和 OS/2 来说是 .dll,对于 UNIX 操作系统来说则是 .o。
参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。
http://server1.stl.ibm.com/cgi-bin/db2www/test1.dtw/report
那么您应使用以下 URL 将 Net.Data 作为 ISAPI 插件来调用:
http://server1.stl.ibm.com/scripts/dtwisapi.dll/test1.dtw/report
http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.dtw/report
那么,在 ISAPI 方式中调用 Net.Data 的等价的 URL 是:
http://server1.stl.ibm.com/scripts/dtwisapi.dll/orders/test1.dtw/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=magnus-internal/d2w exts=d2w |
/netscape/server/docs/
http://server1.stl.ibm.com/cgi-bin/db2www/test1.dtw/report
而以下 URL 将 Net.Data 作为 NSAPI 程序调用:
http://server1.stl.ibm.com/test1.dtw/report
如果将 Net.Data 宏放在几个目录中,那么最后的三个步骤改为:
http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.dtw/report
经过修改后, 在 NSAPI 方式中调用 Net.Data 的 URL 要短一些,但仍保留了目录名:
http://server1.stl.ibm.com/orders/test1.dtw/report