2012-05-23 272 views
6

據我所知可以通過HTTP協議傳輸二進制文件。但是HTTP是一個基於文本的協議,典型的HTTP響應幀如下所示:通過HTTP傳輸文件

HTTP/1.1 200 OK 
Date: Wed, 23 May 2012 22:38:34 GMT 
Content-Length: 438 
Content-Type: text/html; charset=UTF-8 

Here goes content 

如果是這樣,應該如何二進制文件將在這一框架編碼?什麼是內容類型?用base64編碼的內容是否與POP3協議中的附件相同?或者它是原始數據(是否有可能不會導致問題)

回答

9

標題字段是基於文本的,但實際的有效負載是二進制的。你可以轉移任何你想要的。

不,它與Content-Type沒有任何關係。這只是一個標籤,以便收件人知道如何處理數據;它不會影響協議本身的格式。

0

二進制文件通常與Application/octet-stream mimetype一起傳輸(除非它們與另一個更具體的mimetype當然匹配)。對於傳輸,您使用原始數據 - 不需要base64。

+0

但這是基於文本的協議,新行字符編碼和字節順序呢? –