Content-Language
Response header Content

Overview

Content-Language states the natural language(s) of the response body (representation) the server actually returned. It is the counterpart to the request's Accept-Language: that one expresses desire, this one reports what was served.

The value is a BCP 47 language tag (`ko`, `ko-KR`, `en-US`, `zh-Hant`, ...), and multiple comma-separated tags are allowed when the content targets several language audiences.

Details

A subtle point: Content-Language describes the intended audience's language, not necessarily the language the text is written in. An English reading passage aimed at Korean learners could reasonably carry `ko`, because the target audience is Korean speakers. The language of individual passages is marked with HTML's `lang` attribute instead.

On a multilingual site where the same URL returns different languages based on Accept-Language, send `Vary: Accept-Language` so caches don't mix languages. The header also clearly signals to clients and search engines which language was resolved.

The HTTP Content-Language header, the HTML root `<html lang>`, and the SEO `hreflang` link are complementary. For search, getting `hreflang` and `<html lang>` right is often more effective than the header alone.

Syntax

Content-Language: <lang-tag>[, <lang-tag>]*

e.g. Content-Language: ko-KR

Notes

Related headers

Specification