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