[HTTP] 바이너리 데이터란?

Ceing·2024년 7월 27일
0

HTTP

목록 보기
5/7
post-thumbnail

바이너리 데이터(Binary Data)

  • 0과 1로 이루어진 데이터를 말하며 일반적인 텍스트 에디터로는 읽을 수 없음

  • 이러한 바이너리 데이터는 주로 이미지 , 오디오 , 동영상 , 실행 파일 등에 사용

  • 바이너리 데이터는 문자열로 표현되지 않으므로 통신이나 저장 시 특별한 인코딩 방법이 필요할 수 있음

  • 예를 들어 Base64 인코딩은 바이너리 데이터를 ASCII 문자열로 변환하는 방법 중 하나



바이너리 데이터 vs 문자열 데이터

표현 방식

  • 바이너리 데이터 : 비트
  • 문자열 데이터 : 텍스트

읽기 가능성

  • 바이너리 데이터 : 사람이 읽을 수 없음
  • 문자열 데이터 : 사람이 읽을 수 있음

용도

  • 바이너리 데이터 : 다양한 형태의 미디어 혹은 파일을 저장 혹은 전송할 때 사용
  • 문자열 데이터 : 텍스트 정보 저장 혹은 전송할 때 사용


예시 : HTTP 요청/응답 메시지 BODY 부분

  • 바이너리 데이터 : 이미지 , 동영상 등

  • 문자열 데이터 : {"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

profile
이유에 대해 끊임없이 생각하고 고민하는 개발자

0개의 댓글