一种HTTP服务器中CGI请求的处理方法和系统与流程

文档序号:12278928阅读:来源:国知局

技术特征:

1.一种HTTP服务器中CGI请求的处理方法,用于HTTP服务器,其特征在于,所述方法包括:

在所述HTTP服务器中预生成处理函数信息表,其中,所述处理函数信息表中包含有CGI请求的请求名称与CGI处理函数的对应关系;

接收客户端浏览器发送的HTTP请求;

判断所述HTTP请求是否为CGI请求;

若所述HTTP请求为CGI请求,则提取所述CGI请求的请求名称,根据所述处理函数信息表中请求名称与CGI处理函数的对应关系,调取与所述CGI请求的请求名称对应的CGI处理函数;

使用调取的CGI处理函数处理所述CGI请求,得到与所述CGI请求对应的响应结果;

将所述响应结果发送至所述客户端浏览器。

2.根据权利要求1所述的方法,其特征在于,所述提取CGI请求的请求名称,根据所述处理函数信息表中请求名称与CGI处理函数的对应关系,调取与所述CGI请求的请求名称对应的CGI处理函数,包括:

从所述CGI请求的统一资源定位符URL信息中提取所述CGI请求的请求名称;

判断所述处理函数信息表中是否存在与所述CGI请求的请求名称对应的CGI处理函数;

若所述处理函数信息表中存在与所述CGI请求的请求名称对应的CGI处理函数,则从内存中调取所述CGI处理函数;或者,

若所述处理函数信息表中不存在与所述CGI请求的请求名称对应的CGI处理函数,则向所述客户端浏览器发送响应失败消息。

3.根据权利要求1所述的方法,其特征在于,所述使用调取的CGI处理函数处理所述CGI请求,得到与所述CGI请求对应的响应结果,包括:

根据所述CGI请求中的请求方法信息,确定所述CGI请求的请求方式;

若所述CGI请求的请求方式是GET请求方式,则对所述CGI请求中的URL信息进行解析,得到表单数据,使用所述CGI处理函数对所述表单数据进行处理,得到相应的响应结果;或者,

若所述CGI请求的请求方式是POST请求方式,则确定所述CGI请求中报文实体的实体类型,根据与所述实体类型对应的解析方式对所述报文实体进行解析,得到表单数据,使用所述CGI处理函数对所述表单数据进行处理,得到相应的响应结果。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

若所述HTTP请求是静态资源请求,则根据所述静态资源请求的URL信息中包含的目标路径,打开对应的资源文件;

若所述资源文件打开成功,则读取所述资源文件的文件状态信息和文件内容;

将所述文件状态信息和文件内容发送至所述客户端浏览器。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

获取所述HTTP服务器所在系统中其他应用程序发送的系统进程间通信请求;

根据所述系统进程间通信请求的身份认证标识ID号与通信请求处理函数的对应关系,调取与所述系统进程间通信请求对应的通信请求处理函数;

使用调取的通信请求处理函数处理所述系统进程间通信请求,得到与所述系统进程间通信请求对应的响应结果。

6.一种HTTP服务器中CGI请求的处理系统,用于HTTP服务器,其特征在于,所述系统包括:

生成模块,用于在所述HTTP服务器中预生成处理函数信息表,其中,所述处理函数信息表中包含有CGI请求的请求名称与CGI处理函数的对应关系;

接收模块,用于接收客户端浏览器发送的HTTP请求;

判断模块,用于判断所述HTTP请求是否为CGI请求;

调取模块,用于若所述判断模块判定所述HTTP请求为CGI请求时,提取所述CGI请求的请求名称,根据所述处理函数信息表中请求名称与CGI处理函数的对应关系,调取与所述CGI请求的请求名称对应的CGI处理函数;

处理模块,用于使用所述调取模块调取的CGI处理函数处理所述CGI请求,得到与所述CGI请求对应的响应结果;

发送模块,用于将所述响应结果发送至所述客户端浏览器。

7.根据权利要求6所述的系统,其特征在于,所述调取模块,包括:

名称提取子模块,用于从所述CGI请求的统一资源定位符URL信息中提取所述CGI请求的请求名称;

函数判断子模块,用于判断所述处理函数信息表中是否存在与所述请求名称对应的CGI处理函数;

函数调取子模块,用于若所述函数判断子模块判定所述处理函数信息表中存在与所述请求名称对应的CGI处理函数时,从内存中调取所述CGI处理函数;

所述发送模块还用于若所述函数判断子模块判定所述处理函数信息表中不存在与所述请求名称对应的CGI处理函数时,向所述客户端浏览器发送响应失败消息。

8.根据权利要求6所述的系统,其特征在于,所述处理模块,包括:

请求方式确定子模块,用于根据所述CGI请求中的请求方法信息,确定所述CGI请求的请求方式;

信息解析子模块,用于若所述CGI请求的请求方式是GET请求方式时,对所述CGI请求的URL信息进行解析,得到表单数据;第一表单数据处理子模块,用于使用所述CGI处理函数对所述表单数据进行处理,得到相应的响应结果;或者,

实体类型确定子模块,用于若所述CGI请求的请求方式是POST请求方式时,确定所述CGI请求中报文实体的实体类型;实体解析子模块,用于根据与所述实体类型对应的解析方式对所述报文实体进行解析,得到表单数据;第二表单数据处理子模块,用于使用所述CGI处理函数对所述表单数据进行处理,得到相应的响应结果。

9.根据权利要求6所述的系统,其特征在于,所述系统还包括:

开启模块,若所述HTTP请求是静态资源请求,则根据所述静态资源请求的URL信息中包含的目标路径,打开对应的资源文件;

读取模块,用于若所述资源文件打开成功时,读取所述资源文件的文件状态信息和文件内容;

所述发送模块,还用于将所述文件状态信息和文件内容发送至所述客户端浏览器。

10.根据权利要求6所述的系统,其特征在于,所述接收模块,还用于获取所述HTTP服务器所在系统中其他应用程序发送的系统进程间通信请求;

所述调取模块,还用于根据所述系统进程间通信请求的身份认证标识ID号与通信请求处理函数的对应关系,调取与所述系统进程间通信请求对应的通信请求处理函数;

所述处理模块,还用于使用所述通信请求处理函数对所述系统进程间通信请求进行处理,得到与所述系统进程间通信请求对应的响应结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1