HTTP 헤더에 들어가는 정보 중 하나로 데이터(자원)의 타입을 명시하는 헤더이다.
content-type은 MIME표준에 정의되어 있다.
MIME(Multipurpose Internet Mail Extension)은 전자우편을 위한 인터넷 표준 포맷이다.
전자우편은 기본적으로 7비트의 ASCII문자로 전송되는데 8비트 이상의 코드를 사용하는 문자나 이진파일은 MIME 포맷으로 변환되어 전송되게 된다.
이 때 어떤 데이터인지 MIME type이 정해져야 한다.
HTTP에서의 Content-Type에 들어가는 것이 MIME type이다.
MIME표준에 정의된 것을 사용한다는 것이 이것을 말하는 것이다.
GET방식은 대부분 key=value 형식으로 url에 파라미터를 담아 보내므로 content-type 값을 넣을 필요가 없지만 POST와 같은 body에 데이터를 넣어서 보내야 하는 경우엔 어떤 데이터가 보내지는지를 명시해서 보내야 받는 측에서 어떤 데이터인지 예측하여 분석 및 파싱을 한다.
기본값으론 평문이 들어가도록 되어있다.
Content-Type: text/plain
만약 json 데이터를 전송한다면 아래 값을 사용하면 된다.
Content-Type: applicaiton/json
json이 아닌 form데이터 형식으로 보내는 경우 아래와 같이 사용한다.
Content-Type: application/x-www-form-urlencoded
타입 외에도 문자열 인코딩도 정할 수 있다.
Content-Type: applicaiton/json; charset=utf-8
이것 말고도 특정 데이터에 따른 타입은 IANA의 media type에 정의된 것을 적용해 사용
참고
'개발 > Server' 카테고리의 다른 글
[Error][Firebase CLI] Failed to list Firebase projects (0) | 2023.06.03 |
---|---|
[Error][Docker] failed to create network network-name: Error response from daemon: Pool overlaps with other one on this address space (0) | 2022.11.02 |
[Error][docker-compose] yaml: found character that cannot start any token (0) | 2022.05.15 |
docker compose 작성 방법 및 명령어 모음 (0) | 2022.05.15 |
localhost 도메인설정 (0) | 2022.05.08 |