0과 1로 이루어진 데이터를 말하며 일반적인 텍스트 에디터로는 읽을 수 없음
이러한 바이너리 데이터는 주로 이미지 , 오디오 , 동영상 , 실행 파일 등에 사용
바이너리 데이터는 문자열로 표현되지 않으므로 통신이나 저장 시 특별한 인코딩 방법이 필요할 수 있음
예를 들어 Base64 인코딩은 바이너리 데이터를 ASCII 문자열로 변환하는 방법 중 하나
바이너리 데이터 : 이미지 , 동영상 등
문자열 데이터 : {"name":"Kim" , "age":35}와 같은 JSON 형식 문자열
사용자가 웹 사이트에 업로드하는 이미지 , 동영상 혹은 다운받는 파일 등에 사용됨
즉 핵심은 사용자가 서버에 특정 파일을 업로드하거나 특정 파일을 내려받을 때 사용됨
이때 클라이언트 입장에서 요청 메시지의 Content-Type은 multipart/form-data가 됨
해당 Content-Type은 파일 업로드,다운로드 할 때의 요청 , 응답되는 바이너리 데이터가 HTTP 메시지 BODY 부분에 담겨서 요청/응답되는 것을 의미
일반적인 REST API 형태의 통신 시 데이터가 JSON 형식으로 매핑되는데, 이때 JSON 형식의 데이터({"name":"Lee","age":20})가 문자열 데이터임
➤ Content-Type: application/json
혹은 사용자가 폼에 데이터 입력 후 Submit 버튼을 눌렀을 경우 서버에 POST 방식으로 요청이 오는데 이때 HTTP 요청 메시지의 Body 부분에는 JSON 형태의 문자열 데이터({"name":"Lee","age":20})가 담김
➤ Content-Type: application/x-www-form-urlencoded