当我只是用content-type头时
printf(“Content-type:text/plain;charset=UTF-8\n\n”);
apache自己决定如何返回数据时,是Transfer-Encoding:chunck模式传输。
而我的接口因为想尽量快速地通过http接口交互,不想对chunck进行解析。所以我指定Content-length头。
我测试的过程中
printf(“Content-length: 30000000\n”);
printf(“Content-type:text/plain;charset=UTF-8\n\n”);
至少在长度是30000000时,仍然是由我指定的Content-length形式。不会变为chunck。再长不知道。各位可以去测试。我使用的情景不会很大。
另外注意,一旦指定了Content-length。数据实际长度一定要准确,如果数据长度过长,会产生错误无法得到响应。如果数据过短,一直等待造成超时也无法得到数据。总之必须是正确的长度。
当然使用chunck的好处在服务器上面也是好处多多的,可以自由自在地输出数据。不要需要事先准备和拼接。说起来,客户端处理时因为数据已经接收完。处理也是挺快的。看你愿意选择哪种了。