接上上文,Apache+PHP+THINKPHP框架在windows上的搭建,當時直觀認為CGI就是一個運行的程序,但是不求甚解,現在對於CGI做一個稍微詳細的了解
參考鏈接,挺詳細的,就不復制粘貼了,簡書上的一篇文章,有圖有文字,CGI是什么
總結一下幾個要點
- CGI是Web服務器和一個獨立的進程之間的協議,作為實現早起靜態web服務器實現動態網頁技術的通用網關接口
- 通常所說的CGI指代其實是CGI程序,也就是實現了CGI接口標准的程序
- CGI的實現則與具體的編程語言相關,所有具有標准輸入、標准輸出和環境變量的編程語言都可以用來實現CGI
- CGI的實現是通過新的處理進程實現的
- PHP-CGI是CGI的php實現,每次都需要重新讀取配置文件生成php解釋器進行請求處理
- 模塊方式是CGI的優化,在服務器啟動的時候即啟動讀取配置文件啟動php解釋器,請求到來時只需要利用模塊解釋php文件即可
- fastCGI是CGI進一步的升級,PHP-FPM是該協議的php實現,通過進程管理器管理多個駐留在內存中的php解釋器進程,每次請求重新處理php文件
總之,CGI技術應該算是動態網頁技術的先驅,有其存在的合理性。理解到這其實差不多也夠了吧。