从delphi 3 开始,就可以支持使用webbroke 技术开发基于web 服务器。当时主要是支持CGI和ISAPI.
CGI 其实就是一个类似控制台的可执行程序,将其放入web 服务器的可执行目录,每次web 服务器调用这个可执行程序,
并将相应的URL参数提交给CGI程序,CGI 使用并解释这些参数,生成相应的html ,并通过web 服务器传递给浏览器。
这个的好处是CGI 与浏览器相对独立,调试和运行起来方便,但是由于每次客户端请求,都需要在服务器端调用一次CGI程序,
运行完后又要销毁,因此比较耗费系统的资源,现在用起来相对比较少。而ISAPI 是一个动态链接库,可以在IIS 和Apache里面
调用,由于动态链接库一般只需要加载一次,因此效率比CGI 好。
到了delphi6,由于开始支持Linux,Webbroke 开始支持apache服务器的DSO模式,即delphi 编写的web 程序,可以与apache
紧密结合,效率大大提高。当然也引入了websnap 技术来提高web 开发效率。但是由于websnap 是delphi 与js 混合使用,开发和调试
起来非常麻烦,因此使用websnap 非常少。
在最经典的delphi7 里,webbroke 同时支持apache1 和apache2 的DSO 模式。并增加了另外一种开发web 应用的技术,就是Intraweb.
虽然Intraweb 可视化开发非常方便,但是由于每个版本变化很大,同时也不是非常稳定,虽然最新的delphi XE2 也带了Intraweb 12.0.
但是问题还是比较多,当然了如果web 应用的访问量小的话,也可以考虑使用,毕竟开发起来非常简单。
用delphi 开发web 服务器,很多人总是不屑,认为大型的 web 应用不如使用java 和.NET. 小型的应用不如PHP,其实Webbroke 这个技术非常
灵活,我们可以把其与其他delphi 技术灵活的结合起来,也可以实现类似PHP 和java 的功能。毕竟我们非常熟悉delphi,同时在很多应用上
没有必要那么复杂而庞大的系统。
使用delphi+apache 开发web 服务器,可以参考一下我以前的文章
我使用apache 为web 服务器主要考虑了开发的应用可以同时在Windows 与linux 下运行,同时Apache 服务器运行起来非常稳定,我以前的
delphi 窑洞就是使用webbroke 开发的,并在Linux 下运行的,最长运行时间为500天,最后还是因为停电才关机的。