Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42843
  • 博文数量: 27
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 12:09
文章分类
文章存档

2012年(27)

我的朋友

分类:

2012-10-31 11:01:53

default.cpageasp请求处理程序)

int websDefaultHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,

                                          char_t *url, char_t *path, char_t *query)

功能:处理一个默认的url请求。

说明:是处理除了/goform,/cgi-bin,/的所有pagehtmlcssimage)、asp请求的处理。

1.       判断请求的路径是否正确。

2.       如果路径中没有包含页面,则调用默认的页面,例如url/my/,则认为/my/default.asp

3.       打开请求的page和查询page的状态信息

4.       输出HTTP response header

5.       如果是asp文件,则需要添加一些HTTP response header

6.       如果是asp请求,由websAspRequest处理。

7.       建立输出page数据到浏览器的处理句柄。这个输出是在web服务器主循环while中,看到有SOCKET_WRITABLE,才把page数据输出去。处理输出数据的函数是websDefaultWriteEvent

-----------------------------------------------------------------------------------------------------------------

 

int websValidateUrl(webs_t wp, char_t *path)

功能:判断路径是否有效的函数。

说明:这个函数在2.1.8中曾经有bug,现在已经修改过来了。

1.       首先将“\”转换为“/

2.       然后将路径按照“/”,分成一块块。

3.       对于“..”要越到上一层,最后生成的路径是个没有“..”、“.”的绝对路径,以“/”开始。

-----------------------------------------------------------------------------------------------------------------

 

static void websDefaultWriteEvent(webs_t wp)

功能:将page输出到浏览器的函数。

说明:该函数只处理page,不处理asp

-----------------------------------------------------------------------------------------------------------------

 

void websDefaultOpen()

功能:初始化变量

说明:

-----------------------------------------------------------------------------------------------------------------

 

void websDefaultClose()

功能:清空变量

说明:

-----------------------------------------------------------------------------------------------------------------

 

char_t *websGetDefaultPage()

功能:获得默认页面。

说明:

这个对应有路径,但没有具体页面的url。不包括更目录/,即主页面。

-----------------------------------------------------------------------------------------------------------------

 

char_t *websGetDefaultDir()

功能:获得默认的路径

说明:

就是/ata0/webs/www,即主路径“/

-----------------------------------------------------------------------------------------------------------------

 

void websSetDefaultPage(char_t *page)

功能:设置默认的页面

说明:

-----------------------------------------------------------------------------------------------------------------

 

void websSetDefaultDir(char_t *dir)

功能:设置默认的路径

说明:

-----------------------------------------------------------------------------------------------------------------

阅读(349) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~