#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 вы можете установить его в конфигурации, на странице или в коде страницы.