GoAhead的asp过程与goform过程浅析

在说GoAhead之前先说下一下web.

   Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。

   GoAhead WebServer,它是一个源码,免费、功能强大、可以在多个平台运行的嵌入式WebServer。

GoAhead提供了多种方法编写动态页面,包括asp过程、GoForms过程和embedded JavaScript。GoAhead主要利用asp过程动态获取系统信息然后显示在页面上,GoForms过程则主要用来处理用户指令,例如控制设备和修改配置等.

GoAhead WebServer的主要特性有:
1. 支持ASP
2. 嵌入式的javascript
3. 标准的CGI执行
4. 内存中的CGI处理GoFroms
5. 扩展的API
6. 快速响应,每秒可处理超过50个请求
7. 完全和标准兼容
8. 如果不包含SSI,仅要求60K的内存;包含SSI,要求500K内存
9. web页面可以存在ROM或文件系统中
10. 支持多种操作系统,包括eCos 、LINUX 、LynxOS 、QNX 、VxWorks 、WinCE


下面举两个简单的例子来说明 ASP 和 GoForm 过程的应用

ASP过程

C文件:

static int mytest(int eid,webs_t wp,int argc,chart_t **argv)
{
	char *test = "hello asp";
	return websWrite(wp,"%/s",test);

}
void my_define()
{
	websAspDefine(T("mytest",mytest));//函数注册
}
asp文件:

function get_mytest()
{
	var result = "<%mytest();%>";//获取信息
	alert(result);
}

GoForms过程

在post表单时调用C函数

name=

在C函数获取网页并处理

static void mytest2(webs_t wp,char_t *path,char_t *query)
{
	char_t *get_name;
	get_name = websGetVar(wp,T("name"),T(""));
	/* 对获取的数据做处理*/
	websRediect(wp,T("/website/test.asp"));//页面跳转
}
void my_define()
{
	websFormDefine(T("mytest2",mytest2));//函数注册
}

GoForms过程与ASP过程不同,它主要用来响应用户输入以更新系统设置或者执行特定的动作。在GoAhead中,GoForms实现为一个URL处理器,

它会解释以"/goform"开始的URLs。紧跟着"goform"之后的字符串定义了表单名字和用户请求的细节.



你可能感兴趣的:(WEB学习)