欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

fastcgi程序回到响应时,代码中为什么不需要加http1.1 200 ok

更新时间: 2014-01-05 02:03:01 责任编辑: Author_N1

 

fastcgi程序返回响应时,代码中为什么不需要加http1.1 200 ok
项目中用到fastcgi编写了上传、下载服务。 
当fastcgi应用程序处理完毕后,要返回响应给浏览器时,不知为什么fastcgi返回流中,要是按照http协议来写的话,apache就会报错。 

部分代码如下所示: 
FCGX_FPrintF(request.out, 
/*"HTTP/1.1 200 OK;\n"*/ 
"Accept-Ranges: bytes;\n" 
"Content-Type: text/plain;\n" 
"Content-Disposition: attachment; filename=\"%s\";charset=gb2312;\n" 
"Content-Length: %d\n\n" 
, rDownHandle.strFileName.c_str(), unSizeLeft); 

如上代码所示,只要加上HTTP/1.1 200 OK后,apache就会报错:aborted: error parsing headers: malformed header 'HTTP/1.1 200 OK', 

注释掉以后,就可以正常输出了。那么是apache和fastcgi两者,究竟是谁给默认加上了这句了呢? 



对于返回200 ok的,我可以一律注释掉这个返回码,但是如果我要返回其它错误码给浏览器时,该怎么处理呢? 比如返回 HTTP/1.1 206 Partial Content 该怎么写?或者该如何设置配置文件等? 

--参考方法--
为什么不需要加那一行,这正是fcgi的特点,共同的响应体不放在每次循环执行中。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:03:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5013/
本文WWW.DOC100.NET DOC100.NET版权所有。