Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Servlets 什么';CGI、WSGI、servlet和类似概念有什么大不了的?_Servlets_Cgi - Fatal编程技术网

Servlets 什么';CGI、WSGI、servlet和类似概念有什么大不了的?

Servlets 什么';CGI、WSGI、servlet和类似概念有什么大不了的?,servlets,cgi,Servlets,Cgi,我试图理解CGI、WSGI、servlet和类似的东西。阅读之后,CGI似乎只是服务器运行脚本并发送其输出的一种方式,而不是一些静态网页 1) 我不明白这有什么大不了的?它只是运行一个脚本并显示其输出,对吗?为什么我们要给它起个像“公共网关接口”这样的大名 2) 这带来了另一个问题,即像django、drupal这样的所有web框架是否都通过cgi/wsgi/mod_php和类似的接口运行python和php文件? 同样,当我们在服务器上运行脚本时,为什么我们必须给出cgi、wsgi这样的名称

我试图理解CGI、WSGI、servlet和类似的东西。阅读之后,CGI似乎只是服务器运行脚本并发送其输出的一种方式,而不是一些静态网页

1) 我不明白这有什么大不了的?它只是运行一个脚本并显示其输出,对吗?为什么我们要给它起个像“公共网关接口”这样的大名

2) 这带来了另一个问题,即像django、drupal这样的所有web框架是否都通过cgi/wsgi/mod_php和类似的接口运行python和php文件? 同样,当我们在服务器上运行脚本时,为什么我们必须给出cgi、wsgi这样的名称

3) servlet似乎也是一个在web服务器上运行的脚本(只是java中的脚本)。为什么要为同一件事取另一个名字?或者它与CGI不同


谢谢。在提问之前,我在谷歌上搜索了很多,没有找到令人满意的答案。

好吧,看来你在谷歌上搜索的还不够。尤其是在web应用程序开发的历史上

网络开发还没有在昨天诞生,标准(和名称)还没有被某个虔诚的实体揭示出来。人们尝试了不同的方法来实现相同(或相似)的功能,公共网关接口已经成为一个规范,旨在稍微标准化这些功能。在那个时代,20多年前,互联网(和网络开发)主要是一项学术业务,学者们喜欢“大牌”(营销人员更喜欢他们)

至于servlet,在Java世界中(总是有点特定),客户端(浏览器)任务有applet,因此服务器端任务的名称就成了servlet

还有很多要补充的,你必须了解事物是如何进化的,而不仅仅是它们现在的样子