- 论坛徽章:
- 0
|
不知道这个问题在这儿问是否合适,因为问题比较奇怪,我只能描述一下现象,还望各位大侠帮忙分析一下,小弟在此先行谢过了!!!
小弟原想在嵌入式Linux应用中使用动态Web技术,为求灵活,对linux下的httpd服务器进行了一些改造,使其支持CGI应用.程序先在PC机上的Linux系统下测试,出现了以下现象:
对静态HTML页面的访问一切正常
对CGI程序的访问在本机(httpd所在机器,linux系统)上的测试正常,可以正常显示动态的HTML页面,但在局域网内其他机器上访问时却显示"本页无法显示".用网络数据包分析工具查看,客户端已经收到了来自httpd服务器的响应(即动态的HTML页面),且数据正确,
以下是我程序中httpd响应头:
int PrintHeader(FILE *f, int content_type)
{
alarm(TIMEOUT);
fprintf(f,"HTTP/1.1 200 OK\r\n"
fprintf(f,"Server: uClinux-httpd 0.2.2\r\n"
switch (content_type)
{
case 't':
fprintf(f,"Content-Type: text/plain\r\n"
break;
case 'g':
fprintf(f,"Content-Type: image/gif\r\n"
break;
case 'j':
fprintf(f,"Content-Type: image/jpeg\r\n"
break;
case 'h':
fprintf(f,"Content-Type: text/html\r\n"
break;
case 'p':
fprintf(f,"Content-Type: application/exe\r\n"
break;
}
//fprintf(f,"Expires: 0\r\n"
fprintf(f,"\r\n"
alarm(0);
return(0);
}
不知道是不是我对HTTP协议了解的不够清楚,总之,上述问题让我难以理解,还请各位大侠不吝赐教!!!!!!!!!!!! |
|