CGI 和 Servlet 的區別
在這篇文章中,我們將瞭解 CGI 和 servlet 之間的區別。Servlet 是一個 Java 類,它幫助伺服器透過託管使用請求-響應模型訪問的應用程式來擴充套件其功能。CGI 充當 www 伺服器和外部資料庫或資訊資源之間的中介軟體,幫助在伺服器和應用程式之間傳遞資料。
CGI 和 Servlet 的區別
CGI 和 Servlet 之間的一些常見區別如下所示。
序號 | 關鍵點 | Servlet | CGI(通用閘道器介面) |
---|---|---|---|
1 | 定義 | 它是一個 Java 類,有助於擴充套件伺服器的功能。 | 它充當 www 伺服器和外部資料庫和資訊資源之間的中介軟體。 |
2 | 伺服器互動 | 這些是幫助託管應用程式使用請求-響應模型訪問的伺服器。 | 伺服器將資訊傳遞給應用程式,應用程式處理資訊併發送響應。 |
3 | 應用程式託管 | 它們有助於擴充套件使用 Web 伺服器託管的應用程式。 | 在應用程式和伺服器之間來回傳遞資料被稱為 CGI。 |
4 | 請求處理 | 它基於執行緒。每個新請求都會建立一個新執行緒。 | 它基於程序。每個新請求都會建立一個新程序。 |
5 | 程式語言 | 它用 Java 編寫,並在 Java 虛擬機器上執行。 | 它可以用任何程式語言實現。 |
6 | 面向物件 | 它是一個面向物件的概念。 | 它不必是面向物件的。 |
7 | 可移植性 | 它是可移植的。 | 它不可移植。 |
8 | 記憶體 | 它保留在記憶體中,直到顯式刪除。 | 請求服務完成後,它將從記憶體中刪除。 |
9 | Web 伺服器 | 它可以使用任何 Web 伺服器。 | 它僅使用其支援的 Web 伺服器。 |
10 | 資料共享 | 它允許資料共享。 | 它不支援資料共享。 |
11 | 直接伺服器連結 | 它有助於直接連結到伺服器。 | 它不會將伺服器直接連結到應用程式。 |
12 | HTTP 伺服器資料 | 它可以讀取和設定 HTTP 伺服器資料。 | 它沒有設定或讀取 HTTP 伺服器資料的功能。 |
13 | 資源管理 | 構建和銷燬執行緒的過程並不昂貴。 | 程序的構建和銷燬被認為是昂貴的。 |
Servlet 主要用於需要高效能和資源管理的應用程式,而 CGI 是一種較舊的技術,在某些用例中可能仍然使用,但由於其基於程序的架構,效率非常低。
廣告