Заголовки HTTP | Accept-Charset

Опубликовано: 1 Февраля, 2022

The HTTP Accept-Charset is a request type header. This header is used to indicate what character set are acceptable for the response from the server. The accept-charset header specifies the character encodings which are accepted by the client and this header also allows a user-agent to specify the charsets it supports.
With the help of content negotiation it selects the type of encoding and then uses it to inform the client of its choice with the Content-Type response header, which is usually present in charset= parameter. Our Web-Browser usually doesn’t send this header, as transmitting it would allow fingerprinting and the default value for each resource is usually correct. If this Header is not present, a user-agent would have to specify each charset parameter for each text/* media type it accepted, e.g.

Accept: text/html;charset=US-ASCII, text/html;charset=UTF-8, text/plain;
charset=US-ASCII,text/plain;charset=UTF-8

Примечание. Когда сервер не может обработать какую-либо кодировку символов из этого запроса, он отправит обратно код ошибки 406 Not Acceptable, чтобы избежать этого и обеспечить лучший пользовательский интерфейс, если заголовок Accept-Charset отсутствует, по умолчанию используется любой набор символов приемлемо.

Синтаксис:

  • Это для одиночной кодировки.
     Accept-Charset: <charset>
  • Этот синтаксис работает для выбора нескольких наборов символов со значением качества.
     Accept-Charset: <charset>, <charset>; q =

Директивы: этот заголовок принимает три директивы, упомянутые выше и описанные ниже:

  • <charset>: эта директива содержит тип кодировки, любое имя кодировки символов, например UTF-32, UTF-16 или iso-8859-15.
  • *: Эта директива используется как подстановочный знак для любого символа, не упомянутого нигде в заголовке.

Примечание: это ; q = определяет весовой коэффициент, значение, расположенное в порядке предпочтения, выраженное с использованием значения относительного качества.

Примеры:

  • В этом примере одно значение находится в заголовке Accept-Charset
     Accept-Charset: iso-8859-5
  • В этом примере двойным значением является заголовок Accept-Charset.
     Accept-Charset: utf-8, iso-8859-1; q = 0,7
  • В этом примере двойным значением является заголовок Accept-Charset, а второй использует подстановочный знак «*» для выбора всех кодировок.
     Accept-Charset: utf-8, iso-8859-1; q = 0,7, *; q = 0,9

Поддерживаемые браузеры: браузеры несовместимы с заголовком HTTP Accept-Charset.