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
主站蜘蛛池模板: 黄色网址手机国内免费在线观看| 国产乱人视频免费观看| 欧美日本在线播放| www.youjizz.com久久| 国产成人亚洲欧美激情| 中文字幕亚洲电影| 国产精品第页| 久久一本日韩精品中文字幕屁孩| 亚洲国产成人超福利久久精品| 五月丁香在线视频| av一区二区三区高清久久| 色老二精品视频在线观看| 国产鲁鲁视频在线观看| 亚洲资源站av无码网址| 少妇极品熟妇人妻专区视频| 国产青榴视频在线观看网站| 在线观看国产黄色| 亚洲天堂日韩av电影| 中文字幕天无码久久精品视频免费| 一级毛片不卡片免费观看| 国产在线无码av完整版在线观看| 国产手机在线小视频免费观看| 97色伦色在线综合视频| 丰满人妻一区二区三区视频| 国产精品大白天新婚身材| 久久中文字幕2021精品| aaa国产一级毛片| 无码aaa视频| 99九九成人免费视频精品 | 26uuu国产精品视频| 无码精品福利一区二区三区| 欧美性久久久久| 乱人伦视频中文字幕在线| 国产成人久视频免费| 四虎综合网| 欧美a级完整在线观看| 国内精品久久久久久久久久影视 | 中文字幕欧美日韩| 91精品免费高清在线| 国产美女无遮挡免费视频| 97久久精品人人做人人爽| 99久久精品免费观看国产| 青青青国产视频手机| 日韩精品成人网页视频在线| 欧美在线综合视频| 在线观看欧美精品二区| 国产精品对白刺激| 亚洲成aⅴ人片在线影院八| 欧洲熟妇精品视频| 熟妇无码人妻| 在线视频精品一区| 91色国产在线| 无码一区18禁| av在线5g无码天天| 国产在线欧美| 午夜精品福利影院| 热99精品视频| 色老头综合网| 亚洲精品人成网线在线| 91福利免费| 97se亚洲综合在线韩国专区福利| 2020国产免费久久精品99| 又爽又黄又无遮挡网站| 国产精品 欧美激情 在线播放| 一本大道视频精品人妻| 久视频免费精品6| 午夜免费视频网站| 免费在线国产一区二区三区精品 | 黄色不卡视频| 黄色片中文字幕| 激情影院内射美女| 亚洲精品国产成人7777| 精品久久高清| yy6080理论大片一级久久| 亚洲精品自拍区在线观看| 国产免费a级片| 国产色伊人| 搞黄网站免费观看| 国产精品自在拍首页视频8| 国产www网站| 国产主播在线观看| 成人精品免费视频|