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
'Backend > Http+Servlet' 카테고리의 다른 글
URL 에 포함된 한글 파라미터 처리 (0) | 2021.11.17 |
---|---|
한글 인코딩과 new String, getBytes (0) | 2021.07.16 |
서버에서 클라이언트 Cookie 셋팅하기 (0) | 2021.03.29 |
JSESSIONID (0) | 2021.03.29 |
response.sendRedirect 에 대한 오해 (2) | 2021.03.16 |