是否仍建议通过http / 2插入CSS折叠之上?


8

一段时间以来,我一直在这里遵循Google的建议(https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery),在折叠CSS上方内联关键代码,以加快加载时间。我想知道,随着http2的采用率越来越高,这仍然有必要吗?我的理解是我理解http2允许通过一个连接进行并行请求的方式,因此CSS可以立即开始下载吗?如果我对http2的工作方式的理解不正确,请有人纠正我。

Answers:


2

您对通过HTTP / 2不再内联CSS的需求是正确的。实际上,HTTP / 2最佳实践暗示了内联的反面。您和这篇文章的任何读者都徘徊的问题是,什么时候才是进行此转换的时间?

实际上,只有在仔细评估用户的浏览器/客户端功能以接受HTTP / 2后,才可以将内联更改为不再内联(图像精灵也是如此)。使用分析功能来告知您的决定可以消除猜测。

随着时间的流逝,看到对apache,mod_pagespeed,nginx,vanish以及其他仅针对HTTP / 1客户端/浏览器自动内联的修改,我不会感到惊讶。因此,请继续关注主要Web服务器的版本更新,以帮助自动执行此更改。

有关HTTP / 2的更多信息,我强烈建议与Google http / 2背后的主要架构师Ilya Grigorieva一起使用有关HTTP / 2的changelog.com播客:在此处收听访谈


1

内联的想法仍然是一个好主意,因为对CSS的请求仍然花费相同的时间,并且在下载CSS文件时仍会阻止页面。HTTP / 2不能加快下载速度。它允许并发下载。这样,图像和其他文件就不会被束缚起来,等待它们在一行中的位置,但是,再次需要花费与HTTP / 2之前一样多的时间来下载,执行或安装它们。


假设您有一个包含一个css文件和一个图像的页面。图像比css文件大。如果同时下载它们,则是否内联css没关系,因为下载时间将花费与最长的资源一样长的时间,在这种情况下,就是镜像?
jetyet47'8

@ jetyet47我的意思是OP认为HTTP / 2可以加快下载速度。它不是。请注意,CSS会先阻止绘画,直到下载完毕并创建CSS对象模型。
罗布
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.