有关使用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