HTTP/1.1 200 OK 
Date: Sat, 30 Jul 2005 14:13:36 GMT 
P3P: policyref="http://p3p.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV" 
Cache-Control: private 
Connection: close 
Transfer-Encoding: chunked 
Content-Type: text/html 
Content-Encoding: gzip 
  
6873  以上为一个接收缓冲区内容,  怎样正确的计算出信息头总长度, 以及随后的text/html文件长度
, RFC2616看得我眼都花了   

解决方案 »

  1.   

    请给一个通用的算法, 因为上面的头包含Transfer-Encoding: chunked,
    而有时信息用的是Content-Length:500分送上, 绝不食言
      

  2.   

    使用RawSocket,你的运气会好些
      

  3.   

    先收1K字节,查看HTTP头是否为OK,再查看Content-Length:后面的数据长度。再加上头的长度即可得到总长度。
      

  4.   

    http的头信息用1024够了,主要是再查看Content-Length:后面的数据长度,头信息的结束是连续两个"\r\n",很容易判断
      

  5.   

    以上的我都知道, 关键是Transfer-Encoding: chunked 的计算方式
    问题我已基本解决, 可是RFC2616看得不是很明白, 心里没底