Как указать набор символов в заголовке ответа типа содержимого HTTP?

#optimization #character-encoding #http-headers #content-type

#оптимизация #кодировка символов #http-заголовки #тип содержимого

Вопрос:

Я тестировал свой сайт с помощью приложения Page Speed от Google, и одним из предложений было указать набор символов в заголовке ответа типа содержимого HTTP, утверждая, что это лучше, чем просто в мета-теге.

Вот что, как я понимаю, мне нужно написать: Content-Type: text / html; charset=UTF-8

..но куда именно я должен это поместить? Я нахожусь на общем сервере.

Спасибо!

Ответ №1:

Apache: добавить в ваш файл .htaccess в корневом каталоге:

 AddDefaultCharset UTF-8
 

Он изменит заголовок из этого:

Текст типа содержимого / html

…для этого:

Текст типа содержимого / html; кодировка = UTF-8


nginx [doc] [serverfault Q]

 server {
   # other server config...
   charset utf-8;
}
 

добавить charset utf-8; в серверный блок (и перезагрузить конфигурацию nginx)

Комментарии:

1. Я знаю, что это должно просто работать, но мой заголовок HTTP по-прежнему просто отвечает текстом типа содержимого / html. Я не хочу использовать тег <meta> в своем документе для объявления кодировки символов. Я использую Apache 2.4.

2. @Tomkay убедитесь, что сервер обрабатывает директивы .htaccess и файл находится в соответствующем каталоге

Ответ №2:

Когда я добавил это, мой заголовок ответа выглядел так:

HTTP / 1.1 200 OK
Тип содержимого: текст / html,текст / html;charset=’UTF-8′
Изменить: Принять-
Сервер кодирования: Microsoft-IIS / 7.5

Комментарии:

1. UTF-8, похоже, используется по умолчанию для IIS ( technet.microsoft.com/en-us/library/cc771836(v=ws.10).aspx )

Ответ №3:

С Apache вы используете http://httpd.apache.org/docs/2.2/mod/core.html#adddefaultcharset

В IIS вы редактируете тип MIME для типа файла в списке файлов.

С большинством серверных технологий, таких как PHP или ASP.NET существует метод или свойство, предоставляемое этой технологией. Например, в ASP.NET вы можете установить его в конфигурации, на странице или в коде страницы.