999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CGI的嵌入式W eb服務器的設計與實現

2016-11-09 07:32:11雷娟娟陳福才
電子設計工程 2016年19期
關鍵詞:頁面嵌入式程序

朱 錦,雷娟娟,陳福才

(國家數字交換系統工程技術研究中心 河南 鄭州450000)

基于CGI的嵌入式W eb服務器的設計與實現

朱 錦,雷娟娟,陳福才

(國家數字交換系統工程技術研究中心 河南 鄭州450000)

為了在資源有限的嵌入式設備上能夠有效地實現動態Web,本文比較了幾種Web服務器的優缺點,選擇了性能優異的Boa作為嵌入式Web服務器,闡述了CGI技術的相關原理以及SQLite數據庫的定義。本文所設計的查詢數據系統以嵌入式Linux操作系統為軟件平臺,以PowerPC8548為硬件平臺,利用HTML表單和CGI技術完成了對后端數據庫SQLite的數據信息查詢,實現Web客戶端與Web服務器的動態交互。

嵌入式Web服務器;Boa;CGI;SQLite

隨著計算機網絡技術的發展和嵌入式Web應用越來越廣泛,需要接入Internet網的信息化產品越來越多。在嵌入式系統中可以通過Web頁面進行遠程訪問和控制,查看或修改遠程設備的數據信息。為了滿足嵌入式設備接入互聯網的需求以及實現嵌入式Web服務器與Web頁面的動態交互[1],很多系統引入了CGI技術[2]。

CGI是實現動態Web的基礎。文中對嵌入式Web服務器Boa以及CGI技術的相關原理進行了研究,利用CGI技術實現Boa服務器和Web頁面的動態交互,實驗結果成功證明了其可行性。

1 嵌入式W eb服務器

嵌入式Web服務器(Embedded Web Server,EWS)指的是在現場測試和控制設備中嵌入的Web服務器。EWS是以TCP/IP協議棧為基礎進行設計的,在此基礎上要構建HTTP、TCP以及UDP等協議。由于嵌入式設備的處理器能力有限,存儲容量也小得多,傳統的Web服務器很難運行在嵌入式設備上,必須考慮使用體積更小、功能相對簡單、消耗資源更少的簡單Web服務器來解決這一問題,嵌入式Web服務器便應運而生。

衡量嵌入式Web服務器的性能取決于以下幾個方面[3]:1)可移植性,即能方便地在多種目標平臺上進行移植;2)可裁減性,使用戶可以根據實際需求,裁減掉那些冗余的功能,降低嵌入式Web服務器對資源的需求;3)可交互性,即服務器與目標系統間的交互性越好,說明它的使用越方便,對目標系統的控制越靈活。

常見的嵌入式Web服務器有httpd、apache、goAhead和Boa等。httpd是最簡單的一種Web服務器,它的功能最弱,不支持認證,不支持CGI,僅能提供一些靜態頁面;apache是重量級服務器,成熟穩定,但體積較大,適合復雜的嵌入式應用,在高負載的情況下,沒有單進程的服務器性能高;goAhead和Boa都支持CGI,但是goAhead是個比較專用的Web服務器,大部分功能都在服務它自己提供的goform功能和ASP功能,而Boa是一個非常小巧且高效的嵌入式服務器,開放源代碼,可執行代碼大約只有60 kB,它運行在Linux或Unix下,支持CGI和HTTP,響應請求的速度快,最多可以同時響應50個請求。Boa的設計目標是速度和安全,非常適合于嵌入式系統。為了實現動態Web技術,本文也正是采用了Boa。

2 CGI原理

2.1CGI工作原理

用戶通過Web瀏覽器進行URL訪問,形成的HTTP請求通過瀏覽器發送到Web服務器,Web服務器守護進程接收到該請求后會創建一個CGI的子進程,該子進程將CGI請求的有關數據設置成環境變量,然后根據鏈接啟動指定的CGI處理程序從環境變量中讀取數據,經過處理后,最后使用STDOUT輸出HTML形式的結果文件,經Web服務器送回瀏覽器顯示給用戶。

2.2CGI的傳送數據方式

CGI傳送方式[4]是使用HTML表單向Web服務器發送信息。基本語法如下:

其中method屬性定義了程序如何將數據傳送到Web服務器,傳送方式有兩種:

1)GET方法

使用GET方法時,表單數據會附加在所指向CGI腳本的URL后一起發送給Web服務器,Web服務器將收到的表單數據賦予環境變量QUERY-STRING,CGI程序將以字符串的形式從環境變量QUERY_STRING中獲取數據。

2)POST方法

POST方法通過使用標準輸入(STDIN)將表單數據傳送給Web服務器。將數據的長度存放在環境變量CONTENT_ LENGTH中,CGI程序先從CONTENT_LENGTH中讀出數據的長度,然后再從標準輸入STDIN中獲取數據。

2.3CGI環境變量

CGI環境變量[5]是CGI的重要內容,所有的信息都是通過環境變量和CGI聯系,服務器與CGI程序交換信息的工作方式也是通過環境變量來實現的。當通過瀏覽器訪問Web服務器時,利用環境變量來保存所發出的請求,CGI程序再訪問這些環境變量,換句話說,環境變量是Web服務器和CGI腳本進行數據傳遞的橋梁。

2.4CGI的調用方法

在Web網頁中調用CGI程序有兩種方法[5]:表單(FORM)和超鏈接(URL)。

1)表單(FORM)調用方法

當Web頁面以表單的方式向Web服務器提交數據時,把CGI程序存放的相對路徑放在

標簽的action屬性中,并把method屬性設置為GET或POST提交方式,其調用形式如下:

2)超鏈接(URL)調用方法

當Web頁面以超鏈接的形式調用CGI程序時,將CGI處理程序存放的相對路徑放在標簽的href屬性中,作為鏈接對象。默認GET提交方式,其調用形式如下:

由于這種調用方法具有一定的局限性,只能靜態傳遞數據,所以大多數情況下更多采用表單 (FORM)調用的方式。

3 SQLite介紹

SQLite是D.RichardHipp用C語言編寫的開源嵌入式數據庫引擎。它是完全獨立的,不具有外部依賴性。SQLite支持多數SQL92標準,可以運行在所有的操作系統上,并且支持大多數計算機語言。它不同于其它大部分的SQL數據庫引擎,因為它的首要設計目標就是盡量的簡單化,以達到易于管理、易于使用、易于嵌入到其它的大型程序中、易于維護和配置的目的。

SQLite的特征[6]如下:零配置、無服務器、精簡性、簡單的訪問、可變長度的記錄。SQLite不僅小、快,而且簡單、可靠,對于嵌入式系統,其管理、執行、維護的簡單化比企業數據庫引擎提供的許多復雜應用更重要,因此SQLite數據庫廣受開發者歡迎。

4 CGI在嵌入式W eb服務器中的動態測試

4.1嵌入式W eb服務器軟件構成及工作原理

嵌入式Web服務器采用Boa服務器,其系統架構如圖1所示。當服務器Boa接收到客戶端的HTTP請求消息后,服務器對消息進行解析。將解析后得到的各種參數傳遞給CGI,CGI應用程序通過環境變量讀取從Web服務器解析到的數據,并對客戶端的請求進行解釋和處理,然后使用SQL語句來檢索或者更新數據庫,最后CGI應用程序將處理結果按照CGI規范返回給Web服務器,Web服務器會對CGI應用程序的處理結果進行解析,并在此基礎上生成HTTP響應信息返回至Web前臺頁面,呈現給用戶,完成動態交互。

圖1 嵌入式Web服務器系統架構

4.2動態測試

下面以查詢表信息為例,介紹利用CGI處理程序實現系統的表信息查詢驗證,其實現流程圖如圖2所示:

圖2 數據查詢流程圖

當用戶點擊查詢按鈕時,程序將進入Web瀏覽器查詢頁面,在該頁面下,用戶可以查詢系統的表信息。當查詢表單提交給Boa服務器后,CGI程序將被調用,程序首先打開用戶信息數據庫,判斷管理員的輸入是否合法,若不合法,則瀏覽器刷新當前頁面要求重新輸入;若合法,則執行SQL語句SELECT查詢數據庫。若表單存在的話,則瀏覽器顯示表單信息給用戶;若表單不存在的話,則程序退出。

頁面具體操作:在瀏覽器地址欄輸入嵌入式服務器的IP地址及端口號:xx.xx.xx.xx:xx,進入查詢系統的登陸界面,進行身份驗證后,可開始數據查詢操作,下面以插入一條數據記錄項為例:

執行插入操作前進行查詢數據項,見圖3:

圖3 操作前數據查詢顯示頁面

插入操作完成后,再次進行查詢數據項,結果見圖4:

圖4 操作后數據查詢顯示頁面

5 結束語

文中基于項目的實際需求選擇了Boa服務器,在嵌入式系統中結合C語言編寫CGI程序,完成了客戶端與嵌入式Web服務器之間的動態交互,從而通過瀏覽器實現對后端數據庫SQLite的數據信息查詢。這種方案運行效率高,通用性強,有著廣泛的應用前景,為用戶后續對嵌入式設備的遠程監控奠定基礎。

[1]李勇.CGI在嵌入式WEB服務器中的應用和實現[J].微計算機信息,2008,24(10):110-111.

[2]WANG Zhen-xi,REN Xian-yi.Astudyon CGI ofembedded Webserver[J].International Symposiumon Computer Science and Computational Technology,2008,(1):480-483.

[3]施忠華.基于嵌入式Linux和Sqlite的Web服務器的研究及應用[D].南昌:南昌大學,2012.

[4]王俊,郭書君.嵌入式Web服務器的實現及其CGI應用[J].電子設計工程,2011,19(21):152-154.

[5]王寶忠,馬成.基于CGI技術的嵌入式動態Web的研究與實現[J].電子設計工程,2012,20(18):162-163.

[6]楊洋.SQLite數據庫在嵌入式系統中的應用實踐[J].柳鋼科技,2013,(5):41-43.

Design and implementation of embedded W eb server based on CGI

ZHU Jin,LEIJuan-juan,CHEN Fu-cai
(National Digital Switching System Engineering&Technological Research Center,Zhengzhou 450000,China)

In order to achieve the purpose of dynamic Webeffectively in the limited resources of embedded devices,by comparing the advantagesand disadvantagesof severalWeb servers,this paperselects the excellent Boa as an embedded Web server,and illustratestheoperationalprincipleofCGItechnology andSQLite database.The design of data query system in this paper takesembedded Linux operating system as software platform,and takes PowerPC8548 as the hardware platform,realizes data information query of the back-end SQLite database by usingHTML forms and CGI technology,and complete dynamicinteractivitybetweentheWeb clientandtheWeb server.

embedded Web server;Boa;CGI;SQLite

TN915

A

1674-6236(2016)19-0191-03

2015-10-08稿件編號:201510017

朱 錦(1991—),男,江蘇高郵人,碩士。研究方向:信息通信網技術。

猜你喜歡
頁面嵌入式程序
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
搭建基于Qt的嵌入式開發平臺
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 国产区在线看| 亚洲综合狠狠| 亚洲国产日韩欧美在线| 国产精品九九视频| 欧美啪啪一区| 亚洲成人网在线观看| 97国产成人无码精品久久久| 国产亚洲欧美日韩在线一区| 极品国产在线| 伊人激情综合网| 国产好痛疼轻点好爽的视频| 亚洲精品色AV无码看| 一区二区三区四区在线| 久久久91人妻无码精品蜜桃HD| 亚洲人成网线在线播放va| 国产成人高清精品免费软件| 日韩一区二区三免费高清| 国产香蕉在线视频| 亚洲欧美色中文字幕| 欧美伦理一区| 色天堂无毒不卡| 国产午夜精品鲁丝片| 91精选国产大片| 亚洲国模精品一区| 婷五月综合| 久久动漫精品| 欧美激情首页| 欧美激情视频在线观看一区| 久青草国产高清在线视频| 精品国产黑色丝袜高跟鞋| 日韩精品毛片人妻AV不卡| 精品伊人久久久香线蕉| 日本午夜影院| 国产一区免费在线观看| 亚洲日韩精品欧美中文字幕| 亚洲久悠悠色悠在线播放| 国产无码高清视频不卡| 国产AV毛片| 国产精品美乳| 久久鸭综合久久国产| 亚洲日韩高清无码| 久久黄色免费电影| 精品亚洲国产成人AV| www中文字幕在线观看| 91色爱欧美精品www| 国产极品美女在线| 亚洲永久视频| 中美日韩在线网免费毛片视频| 强奷白丝美女在线观看| 999国产精品| 国产网友愉拍精品视频| 国产成人精品一区二区三在线观看| 在线无码av一区二区三区| 全部免费毛片免费播放| 精品综合久久久久久97超人该| 色爽网免费视频| 久久精品波多野结衣| 久久精品91麻豆| 亚洲精品无码久久毛片波多野吉| 亚洲黄网视频| 国产精品久久久久久久久| 亚洲精品爱草草视频在线| 另类欧美日韩| 熟妇丰满人妻av无码区| 欧洲精品视频在线观看| 人人91人人澡人人妻人人爽| 久久黄色免费电影| 伊人久综合| 国产精品极品美女自在线看免费一区二区 | 亚洲精品天堂自在久久77| 欧美精品成人一区二区在线观看| 无码aⅴ精品一区二区三区| 蜜芽国产尤物av尤物在线看| 国产高清色视频免费看的网址| 波多野结衣无码AV在线| 国产麻豆永久视频| 国产国拍精品视频免费看 | AV老司机AV天堂| 亚洲天堂免费观看| 亚洲国产看片基地久久1024| 亚洲欧洲日韩久久狠狠爱| 免费jjzz在在线播放国产|