2012-05-23 1 views
6

내가 아는 한 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 

인코딩해야합니다 그러나 HTTP는 텍스트 기반의 프로토콜은 다음과 같이 일반적인 HTTP 응답 프레임이 보이는입니까? Content-Type이란 무엇입니까? base64로 인코딩 된 콘텐츠입니까? POP3 프로토콜의 첨부 파일과 동일합니까? 또는 원시 데이터입니다 (문제가없는 경우 가능합니까?)

답변

9

헤더 필드는 텍스트 기반이지만 실제 페이로드는 바이너리입니다. 원하는 것을 전송할 수 있습니다.

아니요, Content-Type과 아무런 관련이 없습니다. 그것은 수신자가 데이터를 처리하는 방법을 알고 있도록 레이블 일뿐입니다. 프로토콜 자체의 형식에는 영향을주지 않습니다.

0

이진 파일은 일반적으로 Application/octet-stream mimetype으로 전송됩니다 (물론 더 구체적인 특정 mimetype과 일치하지 않는 한). 전송을 위해 원시 데이터를 사용합니다 - base64는 필요하지 않습니다.

+0

그러나 이것은 텍스트 기반 프로토콜입니다. 줄 바꿈 문자 인코딩과 바이트 순서는 어떻게됩니까? –