2015-06-22 81 views
1

我想了解CGI,WSGI,servlets和类似的东西。看完之后,看起来CGI只是服务器运行脚本并发送输出而不是静态网页的一种方式。CGI,WSGI,servlets和类似概念有什么大不了的?

1)我不明白这里有什么大不了的?它只是运行一个脚本并显示它的输出,对吧?为什么我们必须给它一个像“Common gateway interface”这样的大名字?

2)这带来了另一个问题,即做所有的Web框架,如Django,Drupal通过cgi/wsgi/mod_php和类似的接口运行它们的python和php文件? 同样,当我们在服务器上运行脚本时,为什么我们必须提供像cgi,wsgi这样的名称?

3)看起来servlet也是一个运行在web服务器上的脚本(只是它在java中)。为什么同一个事情的另一个名字?或者它不同于CGI?

谢谢。我在搜索之前搜索了很多,并且找不到满意的答案。

回答

1

好吧,你似乎没有搜索和研究足够的。尤其不适用于Web应用程序开发的历史。

网站开发昨天还没有出现,标准(和名称)还没有被一些神圣的实体揭示出来。人们尝试了不同的方式来获得相同的(或相似的)事物,而通用网关接口一直是一个旨在将事情标准化的规范。而且,在那个时代,20多年前,互联网(和网络开发)主要是一个学术界的业务,学者们喜欢“大”的名字(当然,营销人员更喜欢它们)。对于servlet来说,在Java世界中(它总是有点特定的),对于客户端(浏览器)端任务,已经有小程序,因此服务器端任务变成了名称servlet

还有很多要补充的内容,你必须阅读事情的发展过程,而不仅仅是现在的情况。