HttpServer可通過(guò)HttpServer.ini文件進(jìn)行參數(shù)配置,KKX為大家分享的是HttpServer2016版本,綠色版無(wú)需安裝,有需要的用戶(hù)不要錯(cuò)過(guò)了哦!
HttpServer2016介紹
啟動(dòng)服務(wù)器: HttpServer.exe -W d:web -H index.html -P 80 -M 10000
-W : web網(wǎng)站的發(fā)布路徑,如:d:web,如果路徑中有空格,可使用雙引號(hào)。
如不指定,則會(huì)在當(dāng)前服務(wù)運(yùn)行的目錄下創(chuàng)建web目錄,并以此為web網(wǎng)站目錄。
-H :web網(wǎng)站的主頁(yè),如:index.html,
如果不指定主頁(yè),則顯示web目錄的文件清單,可作為簡(jiǎn)單的文件服務(wù)器使用。
-P : web服務(wù)的端口號(hào),缺省值為80。
-M :最大并發(fā)量,缺省值為20000。
其它參數(shù)(后面不帶值,參數(shù)存在則表示容許或使用):
-AllowUpload : 容許上傳
-CacheM :使用緩存(具體含義見(jiàn)下節(jié)的"UseCacheMem"字段)
-CacheC : 使用緩存(具體含義見(jiàn)下節(jié)的"UseCacheClass"字段)
缺省值是指,如果該命令參數(shù)不指定,服務(wù)器使用的默認(rèn)參數(shù)。
HttpServer也可以通過(guò)配置文件進(jìn)行參數(shù)設(shè)置,配置文件為HttpServer.ini。
HttpServerContent-Type類(lèi)型設(shè)置
通過(guò)ContentType.ini該配置文件,用戶(hù)可添加指定文件類(lèi)型的Content-Type類(lèi)型,當(dāng)瀏覽器從服務(wù)器讀取文件時(shí),
服務(wù)器會(huì)根據(jù)該配置文件返回指定的Content-Type給瀏覽器。
配置格式為如下,.文件擴(kuò)展名:Content-Type
.mp4:video/mp4,表示如果是mp4文件,則Content-Type為video/mp4。
.cc:text/plain,表示如果是cc文件,則content-Type為text/plain。
HttpServerCGI網(wǎng)關(guān)設(shè)置
CGI網(wǎng)關(guān)設(shè)置在CGI.xml文件中。各節(jié)點(diǎn)含義如下:
path:CGI網(wǎng)關(guān)文件所在的目錄,這里是全路徑,該路徑不一定在發(fā)布的web目錄下(不在web目錄下會(huì)更安全)。
timeout:執(zhí)行網(wǎng)關(guān)程序的超時(shí),單位秒,缺省值為10秒,防止有的網(wǎng)關(guān)程序不退出,或長(zhǎng)時(shí)間不退出。
cgi:子節(jié)點(diǎn),每個(gè)cgi子節(jié)點(diǎn)代表一個(gè)CGI網(wǎng)關(guān)類(lèi)型。
cgi/name:該CGI節(jié)點(diǎn)名稱(chēng),比如python,表示該CGI中的網(wǎng)關(guān)文件是python腳本。
cgi/exe:執(zhí)行該腳本的應(yīng)用程序全路徑,如:c:python25python.exe。
cgi/action:響應(yīng)配置,該節(jié)點(diǎn)代表一個(gè)需要處理的Http請(qǐng)求命令(在服務(wù)端則為一個(gè)應(yīng)用),該節(jié)點(diǎn)有兩個(gè)字段,如下:
cgi/action/appname:url中的請(qǐng)求命令(應(yīng)用名),如:python/test1.do
cgi/action/filename:處理上述請(qǐng)求的文件,如:test1.py,該文件必須在上述path節(jié)點(diǎn)指定的目錄中。
說(shuō)明:當(dāng)用戶(hù)發(fā)送 http://server:port/python/test1.do請(qǐng)求時(shí),網(wǎng)關(guān)會(huì)執(zhí)行test1.py腳本,并將腳本執(zhí)行的結(jié)果返回給瀏覽器。
1、QUERY-SRING數(shù)據(jù)的傳遞
python/test1.do?key1=value1&key2=value2
"key1=value1&key2=value2"會(huì)通過(guò)命令行參數(shù)的方式傳遞給調(diào)用者。
python中為:sys.argv[1],詳見(jiàn)案例:test2.py。
2、POST-DATA數(shù)據(jù)的傳遞
POST數(shù)據(jù)的傳遞通過(guò)讀取標(biāo)準(zhǔn)的輸入獲取,python中為:sys.stdin.readline(),詳見(jiàn)案例:test1.py。
注意:
1、HttpServer沒(méi)有通過(guò)環(huán)境變量來(lái)傳遞QUERY-STRING;
2、CGI網(wǎng)關(guān)數(shù)據(jù)返回時(shí),服務(wù)器會(huì)自動(dòng)添加Content-Length字段(根據(jù)返回?cái)?shù)據(jù)“rnrn”來(lái)計(jì)算HTTP響應(yīng)頭和響應(yīng)體的各自長(zhǎng)度);
3、如果CGI網(wǎng)關(guān)返回?cái)?shù)據(jù)中沒(méi)有"rnrn"來(lái)分割HTTP響應(yīng)頭和響應(yīng)體,則服務(wù)器會(huì)認(rèn)為響應(yīng)數(shù)據(jù)是明文,并自動(dòng)添加類(lèi)型為“text/plain”的響應(yīng)頭,并返回給瀏覽器;
用戶(hù)可根據(jù)需要配置多個(gè)cgi子節(jié)點(diǎn),用于處理不同類(lèi)型的網(wǎng)關(guān)程序(或腳本)。 cgi配置的保留節(jié)點(diǎn)有兩個(gè),一個(gè)是bat,一個(gè)是exe。對(duì)于windows下的bat格式腳本文件,是不需要指定執(zhí)行程序,同樣exe文件也是。
點(diǎn)擊此處下載,網(wǎng)關(guān)案例文件在cgi-bin目錄中
網(wǎng)關(guān)配置文件如下:
python 網(wǎng)關(guān)文件案例:
BAT批處理網(wǎng)關(guān)文件案例:
exe網(wǎng)關(guān)文件案例:
HttpServer內(nèi)置上傳接口
接口名稱(chēng):command/upload.do
使用post命令,可將文件上傳到web發(fā)布目錄。
如果要將文件上傳至web目錄的子目錄中,可通過(guò)path參數(shù)指定,如下
command/upload.do?path=subfolder,subfolder為相對(duì)于web目錄中的子目錄。
HttpServer2016參數(shù)介紹
WebPath:web網(wǎng)站的公布途徑,相當(dāng)于命令行參數(shù)"-W"。
HomePage:web網(wǎng)站的首頁(yè),相當(dāng)于命令行參數(shù)"-H"。
Port:web服務(wù)的端口,相當(dāng)于命令行參數(shù)"-P"。
TimeOut:請(qǐng)求超時(shí),企業(yè)秒,缺省值為60秒。
MaxConn:較大并發(fā)數(shù),相當(dāng)于命令行參數(shù)"-M",缺省值為20000。
PostDataPath:提交數(shù)據(jù)信息的存放途徑,缺省值為現(xiàn)階段客戶(hù)的temp文件目錄。
1、應(yīng)用情景一:客戶(hù)在文件上傳時(shí),上傳文件儲(chǔ)存的臨時(shí)性途徑;
2、應(yīng)用情景二:post請(qǐng)求時(shí),假如客戶(hù)post數(shù)據(jù)信息過(guò)大,超出"MaxPostCacheFileSize"字段名特定的閾值,則變?yōu)槲募魉停苊鈨?nèi)存應(yīng)用過(guò)大;
MaxPostCacheFileSize:POST要求時(shí),接受POST數(shù)據(jù)信息cache緩存的最高值,假如超出該值,則將緩存拷貝到為文檔,企業(yè)為字節(jié)數(shù)BYTE;
MaxUploadFileSize:較大文件上傳規(guī)格,企業(yè)M字節(jié)數(shù),缺省值為2G。
UseCacheMem:是不是應(yīng)用緩存,缺省值為0,表明不應(yīng)用。以使應(yīng)用緩存,則網(wǎng)絡(luò)服務(wù)器會(huì)用室內(nèi)空間換時(shí)長(zhǎng),事先開(kāi)辟多個(gè)持續(xù)的大內(nèi)存塊,并輕載malloc和free函數(shù),在事先開(kāi)辟的大內(nèi)存塊中找尋能用的“泛娛樂(lè)化”內(nèi)存,進(jìn)而降低在分布式系統(tǒng)下經(jīng)常的申請(qǐng)辦理和消毀內(nèi)存造成的速率減緩。
UseCacheClass:是不是應(yīng)用結(jié)構(gòu)體(struct/class)緩存,缺省值為0,表明不應(yīng)用。如使用該值,則網(wǎng)絡(luò)服務(wù)器會(huì)用室內(nèi)空間換時(shí)長(zhǎng),即:依據(jù)MaxConn特定的并發(fā)數(shù),事先開(kāi)辟出特定的內(nèi)存室內(nèi)空間,假如MaxConn為2萬(wàn),則會(huì)開(kāi)辟相匹配2萬(wàn)只結(jié)構(gòu)體(struct/class)用以?xún)?chǔ)存HTTP對(duì)話時(shí)的前后文(context)數(shù)據(jù)信息。跟上面一樣,該值也是因?yàn)榻档驮诜植际较到y(tǒng)下經(jīng)常的申請(qǐng)辦理和消毀內(nèi)存造成的速率減緩。
UseMappingFile:是不是應(yīng)用MappingFile方法瀏覽硬盤(pán)文檔,缺省值為1,表明應(yīng)用。
AccessControlAllowOrigin:是不是容許跨域請(qǐng)求,缺省值1,表明容許。
PrintMessage:是不是在控制面板導(dǎo)出HTTP要求,缺省值1,表明輸出打印。
注:分布式系統(tǒng)時(shí)必須關(guān)掉控制面板導(dǎo)出!!!
AllowUpload:是不是容許提交,缺省值為0,表明不容許。
AllowCacheFile:是不是容許文檔緩存,缺省值為1,表明容許,該值合理時(shí),會(huì)對(duì)資料開(kāi)展緩存,防止反復(fù)的開(kāi)展硬盤(pán)文檔實(shí)際操作。
MaxCacheFileSize:較大緩存的文件尺寸,缺省值為5(企業(yè)M),低于該值的資料會(huì)載入到內(nèi)存中,后面瀏覽將不會(huì)再?gòu)挠脖P(pán)中載入反而是立即讀內(nèi)存。
HttpServer更新日志
將bug掃地出門(mén)進(jìn)行到底
優(yōu)化用戶(hù)反饋的問(wèn)題,提升細(xì)節(jié)體驗(yàn)