UTF-8 метатег типа контента замедляет загрузку страницы, почему? - PullRequest
2 голосов
/ 01 октября 2010

Я устанавливаю следующий метатег, чтобы установить тип контента и при этом время загрузки страницы увеличивается примерно на 30% (350 -> 500 мсек, используя инструменты Chrome Dev и Firefox Firebug). Примечание. Сначала я поместил его внутри тега, чтобы предотвратить повторную визуализацию содержимого страницы. Кроме того, размер страницы в килобайтах практически одинаков, поэтому проблема не в этом.

meta http-equ = "Тип контента" content = "text / html; charset = utf-8"

Если я не включу тег, символы не будут отображаться правильно. Если я удаляю его и вместо этого добавляю заголовок в мой PHP, как показано ниже, все снова быстро.

header ('Content-Type: text / html; charset = utf-8');

Итак, мой первый вопрос: нужен ли мне метатег или заголовка достаточно для всех браузеров? Я слышал, что мне нужен метатег, чтобы формы работали правильно, но кажется, что заголовок может быть достаточно хорошим.

Мой второй вопрос: с какой стати этот тег должен влиять на время загрузки, что кажется просто сумасшедшим?

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Заголовок переопределит метатег, который я считаю.Поэтому вы должны использовать заголовок, а не метатег.Проблема с метатегом заключается в том, что браузер начинает анализировать HTML еще до того, как он увидит метатег.Как только он встречает метатег, он теперь знает кодировку, поэтому он должен начать снова.Это может объяснить задержку, которую вы видите.

0 голосов
/ 05 октября 2010

Существует потенциальная проблема с неиспользованием метатега.Как только он будет выведен и сохранен локально, он не будет знать, какой язык используется.Установив его в HTML мета, он позволяет браузеру знать, какой язык использовать.В противном случае вы получите искаженные символы, если будете использовать азиатские символы.Если вы используете только английский язык, то это не будет большой проблемой.

0 голосов
/ 01 октября 2010

Это может зависеть от кода, который вы выполняете впоследствии. Это само по себе не должно влиять. Если это сама веб-страница, вам не нужно выполнять функцию header (), достаточно будет метатег html.

...