Apache下,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 该怎么写?或者该如何设置配置文件等?