[发明专利]网页服务器扩展方法及系统无效
申请号: | 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.vipzhuanli.com/pat/books/201210049364.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:话务预测方法及装置
- 下一篇:一种移动终端的天线测试方法