Content-Type을 설명하기 위해선 먼저 MIME-Type을 알아야 합니다.
MIME (Multipurpose Internet Mail Extensions) Type은
파일이나 데이터의 형식(타입)을 명시하는 문자열입니다.
원래는 이메일에서 첨부파일의 형식을 알려주기 위해 쓰였지만,
HTTP, 웹 브라우저, API 통신 등에서 전반적으로 사용됩니다.
HTTP 요청이나 응답에서 해당 메시지의 데이터 형식을 지정하는 헤더입니다.
즉, MIME Type을 HTTP에서 사용하는 방식이 Content-Type이에요.
ex)
클라이언트 → 서버:
POST /login HTTP/1.1
Content-Type: application/json
서버 → 클라이언트:
HTTP/1.1 200 OK
Content-Type: text/html
| 전송 값 | Content-Type 값 |
|---|---|
| JSON 데이터 전송 (fetch, axios 등) | application/json |
| 파일 업로드 (FormData) | multipart/form-data (자동 처리됨) |
| 일반 HTML 폼 전송 | application/x-www-form-urlencoded |
| 상황 | Content-Type 값 |
|---|---|
| JSON 응답 | application/json |
| HTML 응답 | text/html |
| 일반 텍스트 응답 (문자열 등) | text/plain |
| 파일 다운로드 (예: PDF) | application/pdf (또는 파일 형식에 따라 다름) |
| 이미지 응답 (예: PNG, JPG 등) | image/png, image/jpeg 등 |
| 항목 | 설명 |
|---|---|
| MIME Type | 데이터의 형식을 정의하는 문자열 |
| Content-Type | HTTP에서 해당 데이터 형식을 알려주는 헤더 |
| 잘못 설정 시 | 클라이언트/서버 간 파싱 실패, 렌더링 오류 발생 |