Language agnostic cgi bin的替代方案

Language agnostic cgi bin的替代方案,language-agnostic,Language Agnostic,询问“基于cgi bin”服务的缺点。据我所知,除了命名约定之外,就基于web的客户机/服务器交互而言,这些年来没有什么变化。当然,现在可以选择使用AJAX客户端,但最终它们仍然是无状态的,服务器上的代码(无论使用何种语言编写)仍然等待通过“GET”或“POST”方法发送输入 就web编程而言,我已经脱离了循环有一段时间了,我是否遗漏了一些显而易见的东西 为了澄清我的问题:我提到的问题表明基于“cgi bin”的系统不再使用,新的替代方案是什么 @萨诺尔德。谢谢你的回答。因此,我100%肯定这一

询问“基于cgi bin”服务的缺点。据我所知,除了命名约定之外,就基于web的客户机/服务器交互而言,这些年来没有什么变化。当然,现在可以选择使用AJAX客户端,但最终它们仍然是无状态的,服务器上的代码(无论使用何种语言编写)仍然等待通过“GET”或“POST”方法发送输入

就web编程而言,我已经脱离了循环有一段时间了,我是否遗漏了一些显而易见的东西

为了澄清我的问题:我提到的问题表明基于“cgi bin”的系统不再使用,新的替代方案是什么


@萨诺尔德。谢谢你的回答。因此,我100%肯定这一点,即使一个系统是使用“最新和最好的”服务器平台开发的(我猜这将是一个基于.net的系统或Linux等效系统),它最终仍然只是一个或多个程序,正在运行(如果使用快速cgi)或等待在服务器上启动,所以这些年来确实没有任何变化。如果是这样的话,Brian在他的

中所指的替代方案是什么?最大的变化是,像这样的工具直接在web服务器的地址空间中执行代码,并且实现了与CGI协议几乎相同的东西,但是有一些长期存在的进程,而不是
fork(2)+execve(2)
为每个请求提供一个新的解释器

当然,这两种方法都有问题:直接在web服务器的地址空间中执行解释器可能会对可靠性和安全性造成威胁:服务器(通常)始终以相同的权限运行,因此(通常)不可能分离用户。此外,解释器中的缺陷可能非常常见,因此对于共享托管环境来说,它不是一个好的解决方案,因为任何用户都可以使用访问系统上所有其他用户的所有数据所需的权限运行任意代码

FastCGI方法几乎保持相同的速度;在进程之间复制数据确实会牺牲一些速度,但这对任何人来说都不是什么大问题,除了大容量的站点。但是,您可以将多个FastCGI系统作为附加到单个“web服务器”不同位置的不同用户帐户来运行(例如,
http://example.com/public/
在帐户
www-public
http://example.com/private/
在帐户
www-private
下运行,而且FastCGI系统不需要以与web服务器相同的权限运行

当然,也有服务器调用链接到服务器进程的编译回调(通常编译为字节码)代码的地方。更不用说“编写脚本”了