2012-05-23 9 views
6

Soweit ich weiß, ist es möglich, binäre Dateien über HTTP-Protokoll zu übertragen. Aber HTTP ist ein textbasiertes Protokoll, der typische HTTP-Antwortrahmen sieht wie folgt aus:Dateiübertragung über 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 

Wenn ja, wie sollte Binärdatei in diesem Rahmen codiert werden? Was ist der Inhaltstyp? Ist der Inhalt mit base64 verschlüsselt - genauso wie Anhänge im POP3-Protokoll? Oder es sind Rohdaten (ist es möglich, keine Probleme zu verursachen, wenn so?)

Antwort

9

Die Headerfelder sind textbasiert, die tatsächliche Nutzlast ist jedoch binär. Sie können übertragen, was Sie wollen.

Und nein, es hat nichts mit dem Content-Type zu tun. Das ist nur ein Etikett, damit der Empfänger weiß, wie er die Daten verarbeitet; Es hat keine Auswirkungen auf das Format im Protokoll selbst.

0

Binärdateien werden normalerweise mit dem Application/octet-stream mimetype übertragen (es sei denn, sie entsprechen einem anderen spezifischeren Mimetyp natürlich). Für die Übertragung verwenden Sie die Rohdaten - kein Base64 benötigt.

+0

aber dies ist textbasiertes Protokoll, was ist mit Zeichencodierung und Bytes Reihenfolge? –