Loading AI tools
来自维基百科,自由的百科全书
簡單通用網關接口 (英語:Simple Common Gateway Interface,簡稱 SCGI) 是一種讓應用程式與 HTTP 伺服器交互的協議,作為 CGI 協議的替代。它類似於 FastCGI 但它被設計地更容易實現,且最重要的是,允許有很大延遲的 CGI 操作(如聯繫外部數據庫)。
客戶端通過一個可靠的流流協議連接到一個 SCGI 伺服器,進行 8 比特字節的傳輸。客戶端首先發送請求,當 SCGI 伺服器看到請求結束時,它會將回應發送回來並關閉連接。[note 1]
請求包含幾個頭部和正文。頭部的格式是:
headers ::= header* header ::= name NUL value NUL name ::= notnull+ value ::= notnull* notnull ::= <01> | <02> | <03> | … | <ff> NUL = <00>
頭部中不允許出現重複的名稱。第一個頭部的名稱必須是 "CONTENT_LENGTH" 且值為正文的十進制長度。 "CONTENT_LENGTH" 頭必須始終存在,即使它的值為 "0" 。此外還必須有一個頭部的名稱為 "SCGI" 且值為 "1"。為了方便從 CGI 過渡,標準的 CGI 環境變量也應該被作為 SCGI 頭部提供。
頭部會被編碼為 netstring ,然後發送到伺服器應用程式。正文將在頭部後發送,它的長度由 "CONTENT_LENGTH" 頭部指定。
網頁伺服器(SCGI 客戶端)打開連接並發送以下字符串拼接起來的數據:
"70:" "CONTENT_LENGTH" <00> "56" <00> "SCGI" <00> "1" <00> "REQUEST_METHOD" <00> "POST" <00> "REQUEST_URI" <00> "/deepthought" <00> "," "What is the answer to life, the Universe and everything?"
網頁應用程式(SCGI 伺服器)發送以下回應:
"Status: 200 OK" <0d 0a> "Content-Type: text/plain" <0d 0a> "" <0d 0a> "42"
然後 SCGI 伺服器關閉連接。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.