Backend/Http+Servlet

Contents-Type, Accept

findmypiece 2021. 4. 20. 16:21
728x90

둘 다 HTTP 헤더 요소 중 하나인데 각각 구분해서 설명하면 아래와 같다.

Content-Type

request, response 에 모두 지정할 수 있는 헤더로 전송하는 데이터 형식을 명시한다. HTTP 표준 스펙을 따르는 브라우저와 웹서버는 Content-Type 헤더를 기준으로 HTTP 메시지에 담긴 데이터를 분석해서 파싱한다. 만약 Content-Type 헤더를 지정하지 않는다면 특정한 형식의 데이터일지라도 데이터를 받는 입장에서는 단순히 텍스트 데이터(text/plain)로 받아들인다. 

Get 방식의 경우 url의 쿼리스트링만으로 데이터 형식을 파악할 수 있기 때문에 굳이 Content-Type 을 지정하지 않아도 되지만 PUT, POST 처럼 메시지를 body 에 넣어서 보낼때는 반드시 지정해야 한다.

 

Accept

request 에만 지정할 수 있는 헤더로 응답받을 있는 데이터 형식을 명시한다. 서버 입장에서는 response 를 넘길 때 accept에 명시된 데이터 형식 중 하나로 응답해야 한다. Content-Type 이 전송하는 데이터 타입을 명시하는 거라면 Accept는 받을 데이터를 명시하는 개념이다. 브라우저에서 발생시키는 request의 경우 아래와 같이 기본 Accept 값이 지정된다.

728x90