关注越视界
19-02-20 20:52
CDN可以帮助您的网站使用HTTP / 2,但它们也提供了许多其他好处。
例如,它们也意味着对您网站的许多请求不需要走得太远,这也会大大加快您的网站速度。
此外,北京SEO外包服务公司了解到他们可以做其他聪明的事情,如在飞行中优化您的图像等。
为了部署HTTP / 2,您需要接收Web内容请求的服务器能够使用浏览器说出该语言。
最初打开安全连接时,服务器会告诉浏览器它是否可以说HTTP / 2。
在我的比喻中,您可以将此视为压路机司机询问服务器,因为他正在开车 – 然后当他回来时,他让浏览器知道他们是否可以发送多辆卡车!
因此,您需要升级/配置您的服务器软件(例如,nginx)才能够并且愿意使用HTTP / 2。
如果这不是您的团队或托管公司可以容纳的,那么您可以部署CDN。
然后CDN将位于您的服务器和您的Web用户之间,它可以代表您说HTTP / 2。
有各种各样的CDN提供商,但您应该看到的两个:
CloudFlare: 一个很好的“开箱即用”解决方案,价格非常具有竞争力 – 因此非常适合小型网站。
快速:它有点贵,但非常灵活(如果你知道你在做什么),并且能够为更棘手的需求提供更复杂的行为!
这两个CDN都可以为您说HTTP / 2。
目前,没有任何CDN实际上从CDN向原始服务器发送HTTP / 2,因此如果您部署了CloudFlare并将其用于HTTP / 2,那么您的服务器端根本无需做任何事情。
它不需要使用CDN,没有。
它们只是实现它的简单方法。
为了在世界范围内传播,它将取决于CDN,但现在可能只需几秒钟 – 而且那个时间肯定不值得担心。
我没有对此进行测量或测试,但我预计影响很小。
维护多个网络连接对于服务器来说并不困难 – 响应请求更多的是负载,而且不会发生太大变化。
如果您通过CDN路由部署,那么您将抵消一些服务器负载/带宽,因为CDN将能够代表您响应某些请求。
当您进行多路复用时,您仍然需要为每个资源发出请求(每辆卡车仍然只能携带一个文件)。
服务器推送可能是单个请求,但可以获得多个响应,携带各种文件。
但是,这需要在服务器端做出积极的决定。
有些建议可能在HTTP / 1.1和HTTP / 2之间有所不同,但它们之间的差别很小。
主要的是域分片和精灵集。
我建议你先部署HTTP / 2然后再进行其他优化(例如,如果它们已经存在,就不要放弃精灵集)。
继续前进我认为我们会在这里看到更多关于最佳实践的清晰度,但一般来说,如果优化HTTP / 1.1流量,您将不会损害HTTP / 2流量。
但是,如果您的大部分流量都是HTTP / 2,那么这些工作的好处可能会大大减少,这可能不值得。
同时“流”(卡车在我们的路上!)的最大数量取决于服务器,但RFC(详细说明标准的文档)建议至少为100!
实际上,对于大多数网站来说,这很少会成为你必须担心的事情。
使用HTTP / 2时,几乎没有理由进行旧学校分片,其中有3个以上的子域,旨在克服每台服务器最多六个连接。
但是,如果你有一个“轻”的分片设置(CDN上单独的子域上的静态资源),那么有时很难轻易解开该设置,所以我不会太担心,也不会让我转移到HTTP / 2(在两个子域上)。
因此,GZIP和Brotli对于大多数现在资源非常庞大的网站肯定是有帮助的。
Brotli在某些领域仍然缺乏支持,但GZIP现在非常普遍。
HTTP / 2实际上通过引入称为HPACK的新压缩标准使这一点更加复杂化。
它允许我们压缩HTTP头部分,这实际上比它听起来更有影响力。
但是,它并没有改变资产的GZIP / Brotli问题。
HTTP / 2标准允许“流优先级划分”,这实际上允许您将某些请求指定为比其他请求更重要。
我不知道这是否是Henshaw所说的,但Chrome可能是优先考虑通过启发式方法分配资源,他们试图找出更重要的东西(而不是直接指定它)。
开箱即用,HTTP / 2不会干扰这些启发式算法,但HTTP / 2流优先级排序机制可以通过指定资源的相对优先级以及依赖关系来实现更细粒度的控制。