3、Webserver如何處理動態檔案
1、webserver處理動態檔案的方式
模組化即把處理動態檔案的引擎當成模組整合進webserver中
CGI通訊協議
2、實現方式
2.1、模組化
a、過程描述:
客戶端發起動態檔案請求
-
webserver接收到請求,根據其配置檔案的內容,交由至對應的動態模組處理
b、要點:
把動態處理模組當成是webserver的一個子模組。
2.2、CGI
通用閘道器介面(Common Gateway Interface/CGI)是一種重要的網際網路技術,可以讓一個客戶端,從網頁瀏覽器向執行在網路伺服器上的程式請求資料。CGI描述了伺服器和請求處理程式之間傳輸資料的一種標準。
a、過程描述:
客戶端發起動態檔案請求
webserver接收到請求,交由至對應的CGI處理
CGI建立子程式,由其處理該請求內容,並等待結果返回。
b、要點:
CGI這種每次呼叫都需要建立子程式的方式。一來是建立子程式的開銷昂貴,二來是經不起大併發量。
2.3、fastCGI
它是 CGI 的增強版本,採用master-worker的方式,改進了CGI中(fork-execute-exit)的詬病,用於減少 Server 與 CGI 應用之間的互動開銷,從而使 Server 可以同時處理更多的請求。
a、過程描述:
fastCgi啟動,根據其配置檔案,建立一個master和n個worker程式,開始監聽並等待請求
客戶端發起動態檔案請求
webserver接收到請求,根據配置檔案,透過socker轉發至對應的fastcgi請求,並等待結果返回
b、要點:
透過socket通訊方式,連線了 webserver和fastcgi。
其次,fastcgi先建立工作程式的方式,避免了CGI(fork-execute-exit)的詬病。並根據採用master和worker的方式,master 程式只有一個,負責監聽埠,接收來自 Web Server 的請求,而 worker 程式則一般有多個(具體數量根據實際需要配置),每個程式內部都嵌入了一個 PHP 直譯器,是 PHP 程式碼真正執行的地方
3、協議實現
3.1、php-cgi
php-cgi是php的直譯器,是cgi協議的實現
3.2、php-fpm
php-fpm是管理和實現fastCGI的管理器
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2318/viewspace-2822822/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python如何處理檔案的?Python
- Python 如何處理大檔案Python
- 處理 Linux 檔案的 3 個技巧Linux
- 前端如何處理xml配置檔案?前端XML
- django-驗證碼/靜態檔案處理Django
- python 檔案處理Python
- python處理檔案Python
- python檔案處理Python
- .NET Core 如何上傳檔案及處理大檔案上傳
- python處理txt檔案Python
- window 批處理檔案
- Python之檔案處理Python
- Go xml檔案處理GoXML
- ASP.NET Core靜態檔案處理原始碼探究ASP.NET原始碼
- 證券行業檔案自動化處理行業
- 如何處理大體積 XLSX/CSV/TXT 檔案?
- Pr 入門教程如何處理圖片檔案?
- javascript如何動態載入js檔案JavaScriptJS
- Unity3D動態載入FBX檔案Unity3D
- node js 處理PDF檔案JS
- 控制檔案損壞處理
- Python批處理:檔案操作Python
- python ini 配置檔案處理Python
- 使用 Python 處理 CSV 檔案Python
- ultracompare22,檔案處理
- java 檔案處理 工具類Java
- 如何使用vi處理GB級別的大檔案
- 如何使用find和xargs查詢和處理檔案
- 使用maven-war-plugin動態載入處理環境變數,過濾打包檔案MavenPlugin變數
- win10 pdf檔案滑鼠不能拖動怎麼修復_win10 pdf檔案滑鼠不能拖動如何處理Win10
- 設定Oralce啟動和停止的批處理檔案
- 影片美顏SDK動態處理技術與靜態處理技術
- 如何檢測Windows服務停止後自動啟動?自動執行.bat批處理檔案?WindowsBAT
- 如何在 .NET Core WebApi 中處理 MultipartFormDataContent 中的檔案WebAPIORM
- 乾貨!Apache Hudi如何智慧處理小檔案問題Apache
- java自己封裝檔案處理Java封裝
- 001.00 一般檔案處理
- Excel VBA 利用FileSystemObject處理檔案ExcelObject