Content-LanguageContent-Language는 응답 본문(표현)이 실제로 어떤 자연어로 작성되었는지를 알리는 응답 헤더입니다. 클라이언트가 원하는 언어를 표현하는 Accept-Language의 짝으로, 이쪽은 '서버가 실제로 준 언어'를 뜻합니다.
값은 BCP 47 언어 태그(`ko`, `ko-KR`, `en-US`, `zh-Hant` 등)이며, 콘텐츠가 여러 언어를 대상으로 만들어진 경우 쉼표로 여러 태그를 나열할 수 있습니다.
주의할 점은 Content-Language가 '문서에 쓰인 언어'가 아니라 '이 문서가 의도한 대상 독자(intended audience)의 언어'를 뜻한다는 것입니다. 예를 들어 한국어 학습자를 위한 영어 교재 페이지라면 대상은 한국어 사용자이므로 `ko`가 될 수도 있습니다. 실제 문단별 언어는 HTML의 `lang` 속성으로 표기합니다.
다국어 사이트에서 같은 URL이 Accept-Language에 따라 다른 언어를 반환한다면, 캐시가 언어를 뒤섞지 않도록 `Vary: Accept-Language`를 함께 보내야 합니다. 응답 언어가 확정되었음을 클라이언트·검색엔진에 명확히 알리는 신호이기도 합니다.
HTTP 헤더의 Content-Language, HTML 루트의 `<html lang>`, 그리고 검색엔진용 `hreflang`은 서로 보완적입니다. SEO를 위해서는 특히 `hreflang`과 `<html lang>`을 정확히 맞추는 것이 헤더보다 실효적일 때가 많습니다.
Content-Language: <lang-tag>[, <lang-tag>]*e.g. Content-Language: ko-KR