본문 바로가기
공부/기타

Content-Type과 MIME-Type

by 무심한고라니 2021. 12. 20.

웹 개발자로 일하며 HTTP에 대해 종종 받게 되는 질문 중 하나로 Content-Type과 MIME-Type이 있는데, 이에 대해 정리해보고자 합니다. 도서 HTTP 완벽 가이드를 참고·발췌하여 작성했습니다.

 

1. Content-Type

2. MIME-Type

 

_____

 

Content-Type

 

헤더[1][2] 중 엔터티 헤더(Entity Headers)[3]가 있다. 이는 엔터티 본문에 대한 헤더로, 엔터티 본문에 들어있는 데이터 타입이 무엇인지 말해준다.엔터티 헤더 중 콘텐츠(Content-)로 시작하는 콘텐츠 헤더[4]는 엔터티의 콘텐츠에 대한 구체적인 정보를 제공한다. 예를 들어, 웹브라우저는 내용 유형을 기술한 Content-Type 헤더를 보고 그 객체를 어떻게 보여줄지 결정할 수 있다. 아래 예를 보자.

 

Content-Type: text/html; charset=iso-latin-1

 

이 Content-Type 헤더는 애플리케이션에게 데이터가 iso-latin-1 문자집합으로 된 HTML 문서임을 알려준다. 

 

 

MIME-Type

인터넷은 수천 가지 데이터 타입을 다루기 때문에, HTTP는 웹에서 전송되는 객체 각각에 신중하게 MIME 타입[5]이라는 데이터 포맷 라벨을 붙인다. 구체적으로, 웹 서버는 모든 HTTP 객체 데이터에 MIME 타입을 붙인다. 웹브라우저는 서버로부터 객체를 돌려받을 때, 다룰 수 있는 객체인지 MIME 타입을 통해 확인[6]한다.

 

MIME 타입은 사선(/)으로 구분된 주 타입(primary object type)과 부 타입(specific subtype)으로 이루어진 문자열 라벨[7]이다. 예를 들면 다음과 같다.

 

  • HTML로 작성된 텍스트 문서는 text/html 라벨이 붙는다.
  • plain ASCII 텍스트 문서는 text/plain 라벨이 붙는다.
  • JPEG 이미지는 image/jpeg가 붙는다.
  • GIF 이미지는 image/gif가 된다.

 

 

_____

1. 헤더와 메서드는 클라이언트와 서버가 무엇을 하는지 결정하기 위해 함께 사용된다.

2. 헤더는 크게 다섯 가지로 분류된다.

  • 일반 헤더(General Headers)
  • 요청 헤더(Request Headers)
  • 응답 헤더(Response Headers)
  • 엔터티 헤더(Entity Headers)
  • 확장 헤더(Extension Headers)

3. 요청과 응답 양쪽 모두 엔터티를 포함할 수 있기 때문에, 엔터티 헤더는 양 타입의 메세지에 모두 나타날 수 있다. 일반적으로 엔터티 헤더는 메시지의 수신자에게 자신이 다루고 있는 것이 무엇인지 말해준다.

4.

5.

6. 대부분의 웹브라우저는 잘 알려진 객체 타입 수백 가지를 다룰 수 있다.

7. 컨텐츠 타입 헤더의 내용이 MIME 타입이다.

Content-Type: image/jpeg

 

____

참고자료

 

1. ZeroCho] 알아둬야 할 HTTP 공통 & 요청 헤더

2. ZeroCho] 알아둬야 할 HTTP 응답 헤더

3.

'공부 > 기타' 카테고리의 다른 글

정규식  (0) 2021.01.03
RESTful API란  (0) 2020.12.06

댓글