[發明專利]網頁服務器擴展方法及系統無效
| 申請號: | 201210049364.X | 申請日: | 2012-02-24 |
| 公開(公告)號: | CN103297465A | 公開(公告)日: | 2013-09-11 |
| 發明(設計)人: | 劉嘯 | 申請(專利權)人: | 上海盛軒網絡科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 上海思微知識產權代理事務所(普通合伙) 31237 | 代理人: | 菅秀君 |
| 地址: | 201203 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 網頁 服務器 擴展 方法 系統 | ||
技術領域
本發明涉及一種網頁服務器擴展方法及系統。
背景技術
Web?Server(網頁服務器)是使用WebOS(Web操作系統)或類WebOS解決方案的手持設備上的核心組件,而擴展Web?Server并在其中加入小巧高效的動態網頁生成機制則是基于Web端開發的基礎機制,目前典型的Web?Server有Apache、IIS(Internet?Information?Service互聯網信息服務)等產品,但Apache的體積龐大,而IIS局限于Windows平臺,在較為底端的手持設備的嵌入式環境中均不太能適用。隨著HTML?5在移動端的應用發展,目前有愈來愈廣泛的需求要求在手持設備或嵌入式設備上運行Web?Server以給本設備或其他聯網設備提供動態應用數據,如HP的WebOS、眾多路由器產品等。
Web?Server擴展機制也稱為動態網頁生成機制是一種允許開發者根據Web請求來動態生成結果并返回給瀏覽器的機制。最早的一種擴展機制是CGI(Common?Gateway?Interface通用網關接口),其架構簡單,以標準輸入輸出為數據導向,開發語言多為C等編譯型語言,但其特點是每次請求需要單獨起新的進程,系統開銷較大;目前應用廣泛另一種擴展機制是腳本解釋引擎如ASP/PHP等,該類引擎集成于Web?Server,允許用戶以頁面的方式編寫腳本,開發難度小,還支持所見即所得效果,但腳本引擎同樣龐大,不適合于底端手持設備;還有一種是IIS的ISAPI(Internet?Server?Application?Programming?Interface)機制,其允許內嵌DLL攔截用戶請求,性能很高但開發難度大,應用很少。
目前基于Unix/Linux平臺的BOA以易移植、體積小、性能高、功能完整的特點,成為了一款適用于手持設備的Web?Server軟件,運行在手持設備上的BOA本身只支持標準的CGI擴展方式,可根據特定的用戶請求調用類似于“cgi-bin”的默認目錄下的可執行程序,將程序的標準輸出內容重定向到瀏覽器客戶端,因此基于BOA的擴展對于基于BOA的應用開發具有重要意義。
發明內容
本發明的目的在于提供一種網頁服務器擴展方法及系統,能夠以適合手持設備的Web?Server產品BOA為基礎,修改基于BOA的網頁服務器的CGI擴展的方式增加以so共享庫來實現動態網頁生成的快速共享網關接口擴展機制(Fast?Shared?Gateway?Interface,FSGI),在手持設備上達到了可與IIS的ISAPI效率相似的效果。
為解決上述問題,本發明提供一種網頁服務器擴展方法,包括:
基于BOA的網頁服務器接受客戶端HTTP請求并判斷是否為CGI類型的請求,
若不是CGI類型的請求,則直接獲取URL中指定的靜態文件并發送給客戶端;
若是CGI類型的請求,則進一步判斷該請求是普通CGI擴展機制還是快速共享網關接口擴展機制,若是普通CGI擴展機制,則按照普通CGI擴展機制起新進程以獲取輸出信息并發送給客戶端;若是快速共享網關接口擴展機制,直接在BOA本進程中加載指定名字的so共享庫,并調用所述指定名字的so共享庫約定的輸出函數,將返回內容發送至客戶端。
進一步的,在上述方法中,所述按照普通CGI擴展機制起新進程以獲取輸出信息并發送給客戶端的步驟中,包括:
取URL中的文件名,定位至指定的CGI程序;
做包括構造輸入輸出重定向管道的CGI調用的準備工作;
以CGI程序fork出一新進程;
所述新進程執行完畢后,從所述輸入輸出重定向管道中接收其輸出信息并將其發送給客戶端。
進一步的,在上述方法中,所述直接在BOA本進程中加載指定名字的so共享庫,并調用所述指定名字的so共享庫約定的輸出函數,將返回內容發送至客戶端的步驟包括:
根據快速共享網關接口擴展機制指定的請求名,在緩存中查找并加載對應的so共享庫;
獲取所述so共享庫指定名字的輸出函數,并將請求數據和輸出接收區作為調用參數傳遞給所述輸出函數;
調用所述輸出函數,并將所述輸出函數的輸出信息發送給客戶端。
進一步的,在上述方法中,將所述輸出函數的輸出信息直接使用內存復制方式發送給客戶端。
進一步的,在上述方法中,所述基于BOA的網頁服務器運行于包括ARM平臺、MIPS平臺、Android操作系統或Linux操作系統上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海盛軒網絡科技有限公司,未經上海盛軒網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210049364.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:話務預測方法及裝置
- 下一篇:一種移動終端的天線測試方法





