我目前正在处理iPhone应用程序的简单服务器端,使用启用了CGI脚本的Apache HTTP服务器和用C编写的CGI脚本来处理请求,读取HTTP查询字符串以及从中插入/选择SQLite数据库根据需要。
从我所见,这是一个非常罕见的设置,大多数人用Perl编写CGI脚本或者根本不使用CGI脚本。我使用其他东西只是为了成为主流,但我知道CG中的CGI脚本并且当时并不想处理新事物。人们告诉我,用C语言编写的CGI脚本是一个坏主意,但当我问为什么时,他们不知道。为什么它不好,因为我是为一个小程序做的?
答案 0 :(得分:1)
我认为如果它是一个没有太多棘手代码的简单脚本就可以了。人们可能会有以下几点反对意见:
安全性:与解释型语言相比,C没有很多内置的检查和平衡。什么会导致解释器在其他语言中抛出错误可能意味着缓冲区溢出,数据泄漏或C中的任意代码执行。
字符串处理:与脚本语言相比,这在C语言中通常比较棘手,而且更容易出错(尽管另一方面,你不会让人们尝试使用正则表达式来处理所有事情它们的适用性如何:P)。
开发工作与支付:许多CGI脚本不是性能关键,大多数是I / O限制,因此优化CPU利用率不会对您造成太大影响,或者包含简单的粘合剂逻辑。用脚本语言编写这样的脚本可能会更快。