有关使用HTTP协议传输二进制文件

HTTP协议是基于字符的,当需要传输二进制文件的时候(比如图像文件)。
  Content-Type项中如果是text/xml,则内容是文本格式;例如,如果是此处值为image/gif,就是二进制格式了。   如果内容是二进制格式,每个报文头项目以“\r\n”,即回车换行相隔,而不只是一个换行符“\n”。
  报文头后面应该空一行再接数据,即报文头和数据之间有两个“\r\n”。  
    例子如下:
   
  HTTP/1.1   200   OK  
  Content-Length:   1929  
  Content-Type:   image/gif  
  Last-Modified:   Mon,   02   Aug   2004   03:27:45   GMT  
  Accept-Ranges:   bytes  
  ETag:   "8aa80ad4078c41:10a56"  
  Server:   Microsoft-IIS/6.0  
  X-Powered-By:   ASP.NET  
  Date:   Tue,   31   May   2005   08:46:51   GMT  
   
  GIF89a   4   ?   媺婝岩殚/+,jhhPNN刈兹乔?3垖魋x媵趑;78还骇ウ馤R繇$?A骲h鳑燏撩唔$#   !#   ?%#     !?        ,           4     ?巇IN氐XR+Y?fm選|飾厖?5?%罰衺楔tJ ?瘿Av忌b逡翔hCⅳ饺顅垌v[&摉  
  €}S\nro[GaZH&拕?殮   桺la?u弉mH?O枮<澇<  
  o  * J_I]4疎布9??徽8I猙  
  瑻 \`]_避:筘垧&轥??.?闳祘&啖g舜8S愮菤傤?t8?"   亷?e?傘&???斡S?#r,T?燷?6耇8S[?F鯝C

http和FTP不同的是:数据通过HTTP协议以字符传输,二进制的数据都要经过BASE64或MIME等编码为字符形式再通过HTTP协议传输。因为HTTP协议是针对文本的。而FTP支持传输二进制数据,即不需要经过编码转换成字符型数据。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wubind/archive/2007/12/11/1929666.aspx

posted on 2011-05-22 22:00  lucaszong  阅读(1161)  评论(0)    收藏  举报

导航