2009-10-09 50 views
1

在我正在閱讀的一本書中,作者說:「互聯網上的大多數動態網頁都是用CGI和腳本語言創建的。這不是真的,是嗎?現在不像PHP或ASP等其他技術比CGI更廣泛使用嗎?我不知道如何找出這樣的數據。謝謝...今天CGI的使用有多廣泛?

+1

它確實說'和腳本語言'...它聽起來像一個非常無價值的概括tbh。 – user97410 2009-10-09 20:09:47

+0

這本書的名字是什麼?其出版年? – 2009-10-10 08:56:23

回答

1

這本書多大了?

CGI很舊,一段時間沒有鼓勵過。它可能隱藏了很多驚人的數量。有些網站使用URL重寫來避免破壞舊鏈接,因此您可能會看到許多實際上是其他技術的.cgi鏈接。

+0

謝謝。這本書是最新的;甚至還沒有發佈,實際上,雖然它是一本舊書的修訂,所以這似乎是需要更新貨幣的東西。 (我正在開發中對其進行審查。) – Jack 2009-10-09 22:00:07

0

我原以爲現在PHP遠遠超過CGI。這主要是由於大多數支持PHP的免費/廉價主機,PHP對新手用戶的入門門檻相對較低,而且WordPress作爲博客平臺非常受歡迎。

+0

PHP是一種語言。 CGI是一個協議。你無法真正比​​較它們。可以比較mod_php和CGI。 – Quentin 2009-10-09 20:11:12

+0

我明白要將PHP/ASP與CGI腳本進行比較的問題。 – adrianbanks 2009-10-09 20:18:34

0

如直接運行可執行文件並將其輸出發送到瀏覽器,CGI已死亡。然而,CGI 協議依賴於更現代的技術,例如FastCGI。 FastCGI被廣泛用於許多不同類型的語言 - 例如,PHP具有FastCGI模式,它用於與HTTP守護進程交互。

同上使用腳本語言。可能存在一些舊的基於腳本的頁面,但大多數網站已轉向「真實」語言,如Python,Ruby,C#或Java。

1

CGI只是一個web服務器與程序交談的標準化方式。

即使腳本沒有通過PHP運行,CGI環境變量仍然存在。在PHP中,您可以通過$_SERVER陣列訪問它們。

此外,PHP本身可以運行在CGI mode。事實上,在Apache中,如果您希望PHP以擁有每個PHP文件的用戶身份運行,則需要通過CGI或類似機制(如suphp)運行它。