Web网页设计开发者指南,为HTTP2.0做好准备

超文本传输协议(http)是支配你的服务器和你的网站的访问者的浏览器之间的连接协议。对于自1999年以来的第一次,我们有这个协议的新版本,并承诺给大家远远快的 网站。
在本文中,我们将看看http / 2的基础知识,也适用于网页设计师和开发人员。我会解释一些新协议的关键特性,看浏览器和服务器的兼容性,以及细节你可能需要考虑,因为我们看到更多的采用http / 2的事情。通过阅读这篇文章,你会得到什么考虑您的工作流程不断变化的短期和长期的概述。我还将包括丰富的资源,如果你想进一步深入到所提出的问题。我的目的是给你足够的背景,才能够做出正确的决定,你计划你的移动到http / 2。
简史的http 链接http是一个古老的协议,在1991年最初定义,与上次主要修订- http / 1.1 -发表在1999年1999年网站被我们今天开发的网站非常不同。在http2解释说,丹尼尔·斯腾伯格指出,现在需要加载的平均网站主页的数据量为1.9 mb,以显示一个页面需要超过100个人的资源-从图像或字体的“资源”是什么到javascript或css文件。
http / 1.1检索大量,显示现代的网站所需的资源时,不能很好地执行。正如我们将在本文中后面看到,许多性能最佳实践,我们所知道的web开发人员来自于我们与http / 1.1的局限性应对。
spdy 链接2009年,在谷歌两位工程师发布了关于他们一直在努力命名一个研究项目spdy。该项目解决了一些问题,http / 1.1。spdy着手:
允许在单个tcp连接,被称为并发请求复用 ;允许使对一个页面的显示重要资源可以由服务器首先发送的浏览器的优先次序的资产;压缩和减少http头;实现服务器推送,这样一台服务器可以被要求在他们面前的重要推资源浏览器。此外,spdy需要浏览器和服务器之间的加密的(https)连接。
spdy不会取代http; 相反,它是一个对协议 隧道,并修改现有的http请求和响应被发送的方式。它要求从服务器和浏览器都支持连接到该服务器。随着nginx并从谷歌,使在apache中支持封装支持,但通过spdy的合理数量。浏览器支持是相当不错的,也与所有主要的浏览器现代版本支持它。
在我可以使用spdy浏览器支持的信息。(查看大版)http / 2 链接我们已经看到了spdy享受一定的成功,获得采纳既服务器和浏览器。不过,你可能也已经发现,尽管internet explorer的11所支持,微软的浏览器边缘已经下降了。这里发生了什么?
对spdy的支持已在边缘由于对http / 2,http协议的最新版本的microsoft实现支持被丢弃。而其他浏览器目前仍维持spdy的支持,chrome将在2016年删除的支持,和其他浏览器可能会随之而来。在写这篇文章的时候,边缘,火狐,chrome和opera支持spdy 和 http / 2。safari浏览器,包括ios上,将在今年晚些时候加入该群,推出safari浏览器9。
在我可以使用spdy浏览器支持的信息。(查看大版)http / 2建立在spdy的成功,这是作为一个起点,新的协议。因此,大多数的spdy的目标中的http / 2满足。用于https连接的要求已被删除。这就是说,所有的浏览器厂商已经决定只实现http / 2 tls(https)连接。因此,尽管你可能会使用http / 2明文服务器到服务器的通信,我们的服务http / 2到浏览器的使用情况下,意味着你需要有你的网站上的https运行之前,你甚至可以考虑转移到http / 2 。
在http / 2.0规范于2015年2月完成; 在现代浏览器一年上,浏览器的支持非常出色。与spdy,http / 2需要在浏览器和服务器级别的支持,而且已经有很多web服务器的实现。您可以继续在跟踪这些http / 2维基。w3techs也有从2015年7月后,详细的采用率。该协议的采用正在迅速发生,考虑到这是多么比较新的。
我们必须改变我们的网站?链接http / 2与http / 1.1向后兼容,所以这将是可以完全忽略它,一切都会像以前一样继续工作。该协议更改是对用户完全透明。这篇文章的许多读者将使用http以外的协议/ 1.1多年来一直。如果你有一个gmail帐户,并使用chrome浏览器访问它,你将拥有使用spdy,然后http / 2一直不知道任何事情。
但是,很多的东西,你所认为的是最佳做法可能不利于在http / 2的性能。随着时间的推移,随着越来越多的服务器更新使用http / 2多的人拥有支持http / 2的浏览器,你的网站,在根据最佳实践以及优化的一次,也开始变得比新的协议优化网站速度较慢。
什么是我们需要改变拥抱http / 2 连接在本文的其余部分,我们将着眼于一些将在共同的最佳实践成为反模式为http / 2被采用。正如我们看到的,过渡将是一个缓慢的许多网站。要移动到http / 2,你的服务器软件需要进行更新,以支持该协议-这可能很容易或几乎不可能这取决于你如何被托管。
更改您的网站专门针对http / 2之前,你还需要考虑你的访问者是否往往有支持它的浏览器。网站吸引了大量的使用非常先进的最新的浏览器将能够使该交换机比业主的日志显示在旧的浏览器大多数用户越早人业主。为了反映这一点,我也会给你如何在这个过渡时期的工作提出了一些建议。
转用tls 链接对于很多网站有关移动最难的事是http / 2可能不是http / 2可言,而是要求运行网站通过安全连接。如果你正在开发一个新的网站或更新旧的第一步应该是,以确保您启动或尽快移动到https越好。这是重要的不只是http / 2,谷歌使用安全连接作为一个排名的信号,并且浏览器也开始标志非https网站为“不安全”。在未来,你会发现,一些强大的html5功能,例如地理位置,是没有一个安全的连接unavilable。
如果你有一个网站,是目前http才把我的建议是,首先优先考虑转会到https,然后在你的http / 2的战略决定。
打开多个图像文件进入精灵链接在http 1.1,检索一个大图像是浏览器不是让很多关于小的请求,更有效。这是因为,多个请求排队后面彼此。要解决这个问题,我们已被告知把我们的小图标放到一个精灵的文件。
所得精灵返回一个http请求,从而防止正在排队的多个请求的问题。然而,即使访问者是一个页面,仅显示那些图标之一上,他们仍然需要下载一个更大的文件比需要的,以便看到一个图像。
用http / 2的复用能力,这个排队的资源不再是一个问题。服务于小图像分别将在许多情况下,较好; 你只需要满足哪些是必需的访问者是页面。创建一个精灵仍然会在某些情况下被担保; http请求的性能只是一个方面。在精灵某些图像结合在一起可能达到更好的压缩,因此,更小的下载大小整体,特别是如果所有这些图像在页面上的用于被装载。然而,这将不再是一个子画面总是最好的选择的情况下。
内联图像使用数据uri 链接多个http请求的http / 1.1的问题,另一个解决办法是内联使用数据uri在css中的图像。以这种方式嵌入的图像将样式表大得多。如果您已经联合这与串联资产其他的优化技术,那么访问者将有可能下载所有这些代码,即使他们从来没有拜访过那里正在使用的图片的页面。
随着http请求正在http / 2非常便宜,这种“最佳实践”将阻碍而不是帮助的性能。
级联css和javascript 链接正如我们在构建过程的最后一步,我们很多人将连接所有我们网站上使用的小css和javascript文件。我们常常希望保留这些在开发,使其更容易管理这些资源的分离 – 但我们知道,提供一个文件浏览器是性能比提供五个高效。再一次,我们正试图限制http请求。
如果你这样做,那么谁在您的主页土地访问者可以下载所有为您的网站所需要的css和javascript的,即使他们从来没有使用大部分。作为一个开发者,你可以通过仔细选择和包括具体的文件在构建过程中的网站的每个区域解决这个问题,但可以是一个相当大量的工作。
与串联一个附加的问题是,一切将需要从高速缓存立刻清除。你不能放弃,同时给予代码库经常更换部件更短的时间,从来没有改变长期以来到期日的一些文件。这一切都如果连一行css的,在一个页面上使用,更改为到期。
我想你看这是怎么回事!http请求是在http / 2世界便宜。据上,他们将被用来将是更好的网页开发过程中组织您的资产。然后,您可以为最多只有访问者所需要的代码。下载了很多微小的样式表都不会有问题。您也可以组织根据事情如何变化频繁;与长寿的资产然后可以照顾更长的时间。
主机之间的分割资源:分片链接与http / 1.1,则仅限于打开的连接的数量。如果加载大量的资源是不可避免的,一种方法来解决这个限制是从多个域检索。这是被称为域分片。这样可以达到更好的加载时间,但可以引起问题本身,更何况这个准备为您的网站的发展开销。
http / 2移除此需要分片域,因为你需要,你可以要求尽可能多的资源。事实上,这种技术可能会损害性能,因为它造成了额外的tcp连接,并从优先资源阻碍http / 2。
如何准备http / 2现在链接如果你开始你希望有一定的寿命,但无法启动http / 2或许是由于服务器支持的一个项目,这将是值得考虑的,你怎么能对http / 2做准备。你可以添加一些东西到您的构建过程
上一个:北京建站公司让自己的企业网站更加的实用,更加的有特色
下一个:手把手教你如何进行网站建设开发
鄂州网站建设,鄂州做网站,鄂州网站设计