与其他 API 的兼容性
高速缓存代理 API 与 ICAPI 和 GWAPI 是向后兼容的,直到版本 4.6.1 为止。
移植 CGI 程序
请根据下列关于移植以 C 语言编写的 CGI 应用程序的准则来使用高速缓存代理 API:
- 除去 main() 入口点,或者将它重命名,以便您可以构建 DLL。
- 消除全局变量或使用互斥信标保护全局变量。
- 更改程序中的下列调用:
- 将 printf() 头调用更改为 HTTPD_set() 或 httpd_setvar()。
- 将 printf() 数据调用更改为 HTTPD_write()。
- 将 getenv() 调用更改为 HTTPD_extract() 或 httpd_getvar()。应了解到这些调用将会返回未分配的内存,因此您必须对结果执行 free() 调用,来防止内存泄漏。
- 记住,服务器在多线程环境中运行,因此您的插件函数必须是线程安全的。如果重新执行这些函数,那么性能不会降低。
- 如果要使用 HTTPD_write()
将数据发送回客户机,请记住设置 Content-Type 头。
- 小心检查您的代码以防止内存泄漏。
- 考虑您的错误路径。如果您自己生成错误消息并将它们以 HTML 格式发送回来,那么必须从您的一个或多个
service 函数返回 HTTPD_OK。