Ответы, написанные здесь, чрезвычайно устарели или даже иногда не имеют смысла. Многое изменилось со старого 2009 года, поэтому я постараюсь ответить на него правильно.
Краткий ответ - Вы обязательно должны минимизировать HTML . Это тривиально сегодня и дает примерно 5% ускорение . Для более длинного ответа прочитайте весь ответ
В старые времена люди вручную минимизировали css / js (запустив его через какой-то конкретный инструмент для минимизации). Было довольно сложно автоматизировать процесс и определенно требовал определенных навыков. Зная, что многие сайты высокого уровня даже сейчас не используют gzip (что тривиально), понятно, что люди неохотно минимизировали html.
Так почему же люди минимизировали js, а не html ? Когда вы минимизируете JS, вы делаете следующие вещи:
- удалить комментарии
- удаление пробелов (табуляции, пробелов, переносов)
- изменить длинные имена на короткие (
var isUserLoggedIn
на var a
)
Что дало много улучшений даже в старые времена. Но в html вы не могли сменить длинные имена на короткие, к тому же было почти нечего комментировать. Таким образом, единственное, что осталось, это удалить пробелы и переводы строк. Который дает только небольшое количество улучшения.
Один неверный аргумент, написанный здесь, заключается в том, что, поскольку контент подается с помощью gzip, минимизация не имеет смысла. Это совершенно неверно. Да, имеет смысл, что gzip уменьшает улучшение минификации, но зачем вам gzip комментарии, пробелы, если вы можете правильно их обрезать и gzip только важную часть. Это то же самое, что если у вас есть папка для архивирования, в которой есть какая-то хрень, которую вы никогда не будете использовать, и вы решили просто сжать ее, а не очистить и сжать.
Еще один аргумент, почему минимизировать бессмысленно, заключается в том, что это утомительно. Может быть, это было правдой в 2009 году, но после этого появились новые инструменты. Прямо сейчас вам не нужно вручную уменьшать разметку. С такими вещами, как Grunt , тривиально установить grunt-contrib-htmlmin и настроить его для минимизации вашего html. Все, что вам нужно, это как 2 часа, чтобы выучить хрюканье и все настроить, а затем все будет выполнено автоматически менее чем за секунду. Похоже, что 1 секунда (которую вы можете даже автоматизировать, ничего не делая с grunt-contrib-watch ) на самом деле не так уж плоха, примерно для 5% улучшения (даже с gzip).
Еще один аргумент в том, что CSS и JS являются статическими , а HTML генерируется сервером, поэтому вы не можете предварительно минимизировать его. Это было также верно в 2009 году, но в настоящее время больше и больше сайтов выглядят как одностраничное приложение, где сервер тонкий, а клиент выполняет всю маршрутизацию, создание шаблонов и другие. логика. Таким образом, сервер только дает вам JSON , а клиент отображает его. Здесь у вас есть много HTML для страницы и различных шаблонов.
Итак, чтобы закончить мои мысли:
- Google минимизирует HTML.
- pageSpeed просит вас минимизировать html
- это тривиально
- дает ~ 5% улучшения
- это не то же самое, что gzip