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