2015-06-22 32 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

還有很多要補充的內容,你必須閱讀事情的發展過程,而不僅僅是現在的情況。