По-прежнему рекомендуется ли встроить CSS-фолд выше с принятием http / 2?

8

В течение некоторого времени я следовал рекомендациям Google здесь ( https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery ), чтобы встроить критические значения по сравнению со сложенным CSS для ускорения времени загрузки. Мне было интересно, это все еще будет необходимо с принятием http2 все выше и выше? Мое рассуждение состоит в том, как я понимаю, что http2 допускает параллельные запросы через одно соединение, чтобы CSS мог начать загрузку сразу? Кто-то, пожалуйста, поправьте меня, если мое понимание того, как работает http2, неверно ...

jetyet47
источник

Ответы:

2

Вы правы в том, что больше не нужно использовать CSS с принятием HTTP / 2. На самом деле, лучшие практики HTTP / 2 предлагают противоположность встраивания. Вопрос, который задает вам и любому читателю этого поста, - когда это подходящее время, чтобы сделать это переключение?

Изменение с встраивания на более не встраивание (и то же самое будет справедливо для спрайтов изображений) действительно должно быть сделано только после тщательной оценки возможностей браузера / клиента ваших пользователей для принятия HTTP / 2. Использование аналитики для обоснования вашего решения устраняет догадки, если это так.

Со временем я не удивлюсь, увидев изменения в apache, mod_pagespeed, nginx, vanish и других для автоматической вставки только для клиентов / браузеров HTTP / 1. Поэтому следите за обновлениями версий для основных веб-серверов, чтобы автоматизировать это изменение.

Для получения дополнительной информации о HTTP / 2, я настоятельно рекомендую подкаст changelog.com об HTTP / 2 с Ильей Григорьевой, основным архитектором усилий Google по http / 2: послушайте интервью здесь

Джон Марк Митчелл
источник
1

Идея, лежащая в основе вставки сверху, все еще хороша, потому что запросы на CSS по-прежнему занимают такое же количество времени, а страницы по-прежнему блокируются во время загрузки файла CSS. HTTP / 2 не ускоряет загрузку. Это позволяет одновременную загрузку. Таким образом, изображения и другие файлы не связаны, ожидая своего места в очереди, но, опять же, их загрузка, выполнение или установка занимает столько же времени, сколько и до HTTP / 2.

обкрадывать
источник
Скажем, у вас есть страница с одним файлом CSS и одним изображением. Изображение имеет больший размер файла, чем CSS. Если они одновременно загружаются, не будет ли иметь значение, был ли CSS встроен или нет, потому что время загрузки займет столько же времени, сколько самый длинный ресурс, в данном случае, изображение?
jetyet47
@ jetyet47 Моя точка зрения заключалась в том, что OP думал, что HTTP / 2 ускоряет загрузку. Это не. Обратите внимание, что CSS-блоки сначала рисуют до тех пор, пока они не загрузятся и не будет создана объектная модель CSS.
Роб