CGI圖文說明教程(10)CGI 規范之4
發表時間:2023-12-26 來源:明輝站整理相關軟件相關文章人氣:
[摘要]CGI 規范CGI腳本輸入規范 為了請求哪個有信息附在文件頭后面,比如HTTP POST或者PUT,信息將被發送到腳本的stdin中。 服務器將要發送CONTENT_LENGTH 字節到這個文件描述器中。這里記住它還會給出數據的CONTENT_TYPE。服務器有義務在腳本讀了CONTENT_L...
CGI 規范
CGI腳本輸入規范
為了請求哪個有信息附在文件頭后面,比如HTTP POST或者PUT,信息將被發送到腳本的stdin中。
服務器將要發送CONTENT_LENGTH 字節到這個文件描述器中。這里記住它還會給出數據的CONTENT_TYPE。服務器有義務在腳本讀了CONTENT_LENGTH的字節之后發送文件的結束標識。
CGI 腳本輸出規范
腳本發送它的輸出到stdout。這個輸出可以是有腳本產生的文檔,還可以是用于檢索輸出的服務器的指令。
以下是腳本命名的約定:
通常,腳本產生輸出并發送回給客戶端。這樣做的好處是腳本不需要每一個請求發送一個完整的HTTP/1.0文件頭。有些腳本可以想避免服務器解析輸出的額外開銷,而直接通知客戶端。為了從其它腳本中辨認出這些腳本,CGI要求如果腳本不想服務器解析它的文件頭,腳本的名字要以nph-開頭。在這個例子中,腳本的責任是返回一個響應給客戶端的有效的HTTP/1.0(或者HTTP/0.9)。
以下解析文件頭:
腳本的輸出是以一個小文件頭開始的。這個文件頭包含了文本行,這個文本行和HTTP文件頭格式是一樣的,它是以一個空行來結束的。任何的文件頭(不是服務器指令)被直接發送給客戶端。當前, 這個規范定義了三個服務器指令:
Content-type :這是一個你返回的文檔的MIME類型。
Location :它用于指定你想返回引用的服務器給文檔,而不是真正的文檔。如果這個的參數為URL,服務器件將重定向到客戶端。如果這個的參數是一個虛擬目錄,服務器將檢索指定的文檔就象客戶原來已經請求那個文檔。?指令在這里將起作用,而#指令必須重定向到客戶端。
Status :它將用于給服務器一個HTTP/1.0狀態行以發送給客戶端。它的格式為nnn xxxxx,其中nnn是一個三位數的狀態碼,而xxxx是原因字符串,比如"Forbidden"。