2010-02-25 66 views
3

我正在規劃一個Web服務,它將用C++編寫。目標是能夠選擇或多或少的任何Web服務器來驅動服務。爲了實現這一點,我顯然必須選擇Web服務器和應用程序之間的標準化接口。什麼網頁服務器界面可供選擇?

,我聽說過衆所周知的方法是:

  • CGI
  • 的FastCGI
  • WSGI

現在,我對使用這些接口完全沒有經驗,我真的不知道該選什麼。我確實有一些要求。

  • 需求是相當快的(從我所聽到的,這幾乎排除了CGI的)
  • 應該是一個純粹的C/C++環境下易於使用(如應該有圖書館提供)
  • 必須爲HTTP 1.1(如果該事項說不上來)提供支持

感謝您的任何建議:)

回答

5

WSGI是Python應用程序;如果你的語言是C++,這不是一個選項。

FCGI是一個很好的選擇。 FCGI可以作爲標準CGI調用,便於調試和測試,然後在生產中作爲FCGI運行。

CGI與FCGI的性能取決於您想要做什麼以及您期望的流量。具有大量啓動開銷的任務從FCGI中獲益最多; FCGI控制器可以配置爲產生額外的流程來處理重負載。

幾乎所有的網絡服務器都會以最少的配置運行CGI;您可能需要額外的模塊來運行FCGI,但這取決於Web服務器。

http://en.wikipedia.org/wiki/FastCGI

+0

很高興知道,FCGI現在位於我的列表頂部:p – Milan 2010-02-25 18:01:17

1

沒有什麼 「慢」 關於CGI它只是不擴展。 FCGI具有更高的可擴展性,但您無法在該環境中輕鬆開發,因爲該過程經久不衰,使調試成爲一場噩夢。 HTTP/1.1在這個抽象層次上不是問題。如果您擔心速度,並且此時沒有進行任何分析或測試,則不應該這樣做,但這些接口不是關於兼容性的速度。速度取決於您運行代碼的容器。

1

CGI/fastCGI不應該存在很多問題。如果你實現fastcgi,你的程序仍然可以像普通的CGI一樣運行。大多數Web服務器都支持cgi/fastcgi。

相關問題