如何快速的提高你网站的运行速度和安全性发布时间:2017年10月30日 作者:济南网站建设 来源:济南做网站 上一篇 返回 下一篇

    

2.jpg


    当谈到建立和维护一个网站时,你必须要考虑很多事情。尤其是再当下人们相比较于过程,更看重于结果的时代。同时信息的共享性也注定了人们更关心他们的信息在网站平台上的保密程度,所以如果你是一个网站管理员,下面两个问题就是你必须要时刻关注的:

    提高网站的打开速度,

    提高网站的安全性。

    如果想成功的运营一个网站,这两个方面都是至关重要的。

    在此呢,我们列出了几项技术,来帮助你提高你网站的性能和安全性。

    ①通过我们加密(SSL)

    获得SSL证书以提高安全性和更好性能的免费方法。

    ②HTTP2协议

    对HTTP 1.1协议的继承,它引入了许多性能增强。

    ③Bt压缩

    一种优于Gzip的压缩方法,导致文件大小变小。

    ④WebP图像

    一种图像格式,使图像比典型的JPEG或PNG更小,从而产生更快的加载时间。

    ⑤内容分发网络

    一系列服务器遍布各地,目的是缓存和更快地读取载入你的网站数据。

    如果你没有意识到提高网站性能和安全性的重要性,不妨看一下网站速度对于搜索引擎重要性,自2010年以来,一直使用网站速度作为排名因素。此外,如果你经营一个电子商务商店或一个简单的博客,提高你产品转化率的最直观的解决方案就是提高你网站的打开速度。在主页加载速度每减少100毫秒,成交量就会在其客户基础上实现1.11%的提升。

    而当下的web协议也更倾向于把侧重点放在SSL上,为用户提供更好的安全性,并提高了整体性能。事实上,对于本文中提到的一些技术,拥有一个支持ssl的网站是先决条件。

    加密(SSL)

    如果您的网站仍然是通过HTTP交付的,那么现在是迁移的时候了。很多搜索引擎已经将HTTPS作为一个排名因素,所有不安全的网页最终将在Chrome浏览器中显示一个占主导地位的“不安全”信息。

    这就是为什么,从这个列表开始,我们将讨论如何使用一个免费的SSL证书来完成迁移过程。让我们加密是获得SSL证书的免费和自动化的方法。在我们加密之前,如果您想通过HTTPS交付您的网站,您需要从证书颁发机构购买有效的证书。由于额外的费用,许多web开发人员选择不购买证书,因此,继续在HTTP上服务他们的网站。

    然而,自2015年末发布的公开测试版以来,已经发布了数百万的免费SSL证书。事实上,让我们加密声明,到2017年6月底,已经发行了超过1亿张证书。在我们进行加密之前,超过40%的web页面通过HTTPS传输。在我们进行加密后一年半的时间里,这个数字已经上升到58%。

    如果你还没有移动到HTTPS,那么尽快完成。这里有几个原因,为什么移动到HTTPS是有益的:

    增加安全性(因为所有内容都是加密的),

    HTTP/ 2和Brotli需要使用HTTPS,

    HTTPS是一个排名因素,

    网站建立访客信任。

    如何获得让我们的加密证书链接

    您可以通过几种方式获得SSL证书。虽然让我们加密提供的SSL证书满足大多数用例,但有一些事情需要注意:

    目前没有通配符证书的选项。然而,这计划在2018年1月得到支持。

    我们的加密证书有效期为90天。你必须在它们到期前手动更新它们,或者设置一个自动更新它们的过程。

    当然,如果其中的一个或两个点都是一个破坏者,那么从一个证书颁发机构获得自定义SSL证书是您的下一个最佳选择。不管你选择哪一个提供商,拥有一个启用httpsweb的网站应该是你的首要任务。

    为了获得一个让我们加密的证书,你有两种方法可以选择:

    使用shell访问:运行安装并自己获得证书。

    没有shell访问:通过主机或CDN提供商获得证书。

    第二个选项非常简单。如果您的web主机或CDN提供商提供了我们的加密支持,您基本上只需要启用它,以便开始通过HTTPS交付资产。

    但是,如果您有shell访问并希望或需要配置Let ' s加密自己,那么您将需要确定您使用的是哪个web服务器和操作系统。接下来,从下拉菜单中选择你的软件和系统,找到你的具体安装说明。

    HTTP/2

    感谢我们的加密(或任何其他SSL证书颁发机构),您的网站现在应该运行在HTTPS上。这意味着您现在可以利用我们将要讨论的下两项技术,如果您的网站是通过HTTP交付的,这将是不兼容的。我们将介绍的第二项技术是HTTP / 2。

    HTTP 1.1在15年前发布,此后出现了一些重大的改进。HTTP/ 2最受欢迎的改进之一是它允许浏览器只使用一个连接来并行多个下载。使用HTTP 1.1,大多数浏览器平均只能处理6次并发下载。HTTP/ 2现在呈现的方法如域分片已经过时。

    除了只需要一个连接,同时允许多个请求(多路复用),HTTP / 2还提供了其他好处:

    服务器推送

    推送额外的资源,它认为客户将来需要。

    头压缩

    通过使用HPACK头压缩来减小标题的大小。

    二进制

    与HTTP 1.1不同,二进制代码减少了将文本转换为二进制的时间,并使服务器更容易解析。

    优先级

    优先级与请求相关联,因此允许首先交付更高的资源。

    启用HTTP / 2链接

    无论您如何交付您的大部分内容,无论是来自您的源服务器还是CDN,大多数提供者现在都支持HTTP / 2。决定一个提供者是否支持HTTP / 2应该相当容易,通过它的特性页面和检查。对于CDN提供商,TLS还快吗?提供CDN服务的完整列表,并标记是否支持HTTP / 2。

    如果您想检查您自己的网站当前是否使用HTTP / 2,那么您需要获得cURL的最新版本并运行以下命令:

    curl --http2 http://yourwebsite.com


    或者,如果您不喜欢使用命令行,您可以打开Chrome的开发工具,并导航到“Network”选项卡。在“协议”列下,您应该看到值h2。

在NGINX链接上启用HTTP /2

    如果您正在运行自己的服务器,并且正在使用过时的软件版本,那么您需要将其升级到支持HTTP / 2的版本。对于nginx用户来说,这个过程非常简单。只需确保您正在运行nginx版本1.9.5或更高版本,并在配置文件的服务器块中添加以下监听指令:

    listen 443 ssl http2;

    在APACHE上启用HTTP /2

    对于Apache用户来说,这个过程需要更多的步骤。为了使用HTTP / 2,Apache用户必须将其系统更新到2.4.17或更高版本。他们还需要使用mod_http2 Apache模块构建HTTPS,加载模块,然后定义适当的服务器配置。在Apache HTTP/ 2指南中可以找到如何在Apache服务器上配置HTTP / 2的概要。

    无论您使用哪个web服务器,您的网站都需要在HTTPS上运行,以利用HTTP / 2的优点。

    HTTP/ 2与HTTP 1.1:性能测试

    通过在启用HTTP / 2或检查浏览器的开发控制台之前和之后运行在线速度测试,您可以测试HTTP / 2与HTTP 1.1的性能。

    根据网站所承载的资产结构和数量,你可能会经历不同程度的改进。例如,一个拥有大量资源的网站将需要多个HTTP 1.1的连接(因此增加了所需的往返次数),而在HTTP / 2上则只需要一个。

    

    3 .项目Brotli压缩

    第三种技术是Brotli,一种由谷歌在2015年开发的压缩算法。Brotli继续受欢迎,目前所有流行的web浏览器都支持它(除了Internet Explorer)。与Gzip相比,Brotli在全球可用性(即在CMS插件、服务器支持、CDN支持等方面)仍有一些赶超之处。

    然而,与其他方法相比,Brotli显示了一些令人印象深刻的压缩结果。例如,根据谷歌的算法研究,Brotli比Zopfli(另一种现代压缩方法)的压缩率要高出20%到26%。

    使BROTLI链接

    根据您运行的web服务器的不同,Brotli的实现将是不同的。您将需要使用适合您的设置的方法。如果您使用nginx、Apache或Microsoft IIS,那么可以使用以下模块来启用Brotli。

    IIS Brotli,Microsoft IIS社区贡献扩展

    一旦您完成了下载并安装了上面的一个模块,您就需要按照您喜欢的方式配置这些指令。在做这件事的时候,注意以下三件事:

    文件类型

    可以用Brotli压缩的文件类型包括CSS、JavaScript、XML和HTML。

    压缩质量

    压缩的质量取决于你想要获得多少时间的压缩量。压缩级别越高,需要的时间和资源就越多,但节省的空间越大。Brotli的压缩值可以在1到11之间定义。

    静态和动态压缩

    您想要进行Brotli压缩的阶段将决定是否实现静态或动态压缩:

    静态压缩预先压缩资产——在用户实际提出请求之前。因此,一旦提出请求,就不需要Brotli来压缩资产——它已经被压缩了,因此可以立即服务。这个特性内置了nginx Brotli模块,而使用Apache实现静态压缩需要一些配置。

    动态压缩在飞行中发生。换句话说,一旦访问者请求一个brotli压缩资产,该资产就会被压缩,并随后交付。这对于需要对每个请求进行压缩的动态内容非常有用,缺点是用户必须等待资产在交付之前被压缩。

    nginx用户的Brotli配置可能与下面的代码片段类似。此示例将压缩以动态的方式进行(动态地),定义了一个质量级别的5,并指定了不同的文件类型。

    为了验证Brotli在您的服务器上启用,您可以打开Chrome的开发工具,导航到“Network”选项卡,选择一个资产,并检查内容编码头。现在应该是br。注意,Brotli需要HTTPS,因此如果您已经正确地完成了安装和配置过程,但仍然没有看到br值,那么您将需要迁移到HTTPS。

    4。WebP图像链接

    我们的第四个建议是使用以WebP命名的图像格式。和Brotli一样,WebP是由谷歌开发的,目的是使图像更小。与JPEG和PNG一样,WebP是一种图像格式。服务WebP图像的主要优势是它们的大小要比jpeg和PNGs小得多。通常,在将JPEG或PNG转换为WebP后,可以实现高达80%的节省。

    WebP图像格式的缺点是并非所有浏览器都支持它。在写作的时候,只有铬和歌剧有。但是,有了适当的配置,您就可以将WebP图像交付给浏览器,同时向不支持的浏览器交付一个回退图像格式(如JPEG)。

    WebP在变得像JPEG和PNG一样普及之前还有一段路要走。然而,由于其规模可观的储蓄,它很有可能继续增长。总的来说,WebP减少了页面的总大小,加快了网站加载速度,节省了带宽。

    如何转换为WEBP链接

    可以使用一些选项将图像转换为WebP格式。如果你使用一个流行的CMS,比如WordPress,Joomla或Magento,插件可以让你直接在CMS的仪表盘上转换图像。

    另一方面,如果你想采用手动方式,在线WebP图像转换器是可用的,而且某些图像处理应用程序甚至带有WebP格式选项,你可以导出,从而避免了你必须转换任何东西。

    最后,如果您喜欢更集成的方法,某些图像处理服务提供了一个可以直接在web项目中集成的API,使您能够自动转换图像。

如前所述,并不是所有浏览器都支持WebP图像。因此,如果你只在你的网站上提供一个图片。webp扩展,非支持浏览器将返回一个破碎的图像。这就是为什么撤退很重要的原因。让我们通过三种方法来实现这一点。

    1 .工作使用图片元素链接

    该方法允许您定义WebP图像的路径,以及在网站HTML中原始JPEG的路径。使用此方法,支持浏览器将显示WebP图像,而所有其他浏览器将显示在图像块中最后嵌套的子标记中定义的默认图像。考虑下面的例子:

    <图片>

    <源srcset = " / my-webp-image图像。webp图像/ webp“type = >

    < img src = " / my-jpg-image图像。jpg”alt = "图像" >

    < /图片>

    这种方法最广泛地实现WebP功能,同时确保有一个回退机制。但是,它可能需要对HTML进行大量修改,这取决于应用程序的大小。

    2。修改服务器的配置文件链接

    如果浏览器不支持WebP,该方法使用在服务器配置文件中定义的重写规则返回到受支持的图像格式。根据您的web服务器对Apache或nginx使用适当的代码片段,并相应地调整路径/图像目录。

    这种方法的缺点是不推荐使用WebP图像与CDN一起使用。原因是,如果一个WebP支持的浏览器是第一个请求该资产的浏览器,CDN将缓存WebP图像。因此,任何后续的请求都会返回WebP图像,不管浏览器是否支持它。

    3 .项目使用WORDPRESS缓存插件链接

    如果您是一个WordPress用户,并且需要一个解决方案,它将提供WebP图像支持浏览器,同时又返回到jpeg和PNGs,所有的同时与CDN兼容,那么您就可以使用缓存插件,如缓存启动器。如果你在插件中定义你想为WebP创建一个额外的缓存版本,那么这个插件将会提供一个WebP缓存的版本来支持浏览器,同时又可以返回到HTML或HTML Gzip的其他浏览器。

    

    5。内容分发网络

    最后一个建议是使用内容交付网络(CDN)。CDN通过在服务器集群中缓存它们来加速web资产的全球化。当一个网站使用CDN时,它实际上会将大部分的流量卸载到CDN的边缘服务器上,并将其访问者路由到最近的CDN服务器上。

    由于缓存,CDNs将网站的资源存储在一段预定义的时间内。通过缓存,CDN的服务器会创建源服务器的web资产的副本,并将其存储在自己的服务器上。这一过程使web请求变得更加高效,因为访问者将从多个地理区域访问您的网站。

    如果没有配置CDN,那么所有访问者的请求都将发送到源服务器的位置,无论在哪里。这就产生了额外的延迟,特别是对于那些请求远离源服务器的位置的资产的访问者。然而,通过配置CDN,访问者将被路由到CDN提供者的最近的边缘服务器,以获得所请求的资源,从而最小化请求和响应时间。

    建立一个CDN链接

    建立CDN的过程将根据您使用的CMS或框架而变化。然而,在高水平上,过程大致相同:

    创建一个指向您的源URL的CDN区域(https://yourwebsite.com)。

    创建一个CNAME记录,将自定义的CDN URL(cdn.yourwebsite.com)指向您的CDN服务提供的URL。

    使用您的自定义CDN URL将CDN与您的网站集成(确保遵循您网站设置的指南)。

    检查您的网站的HTML,以确认静态资产被调用的是您定义的CDN的URL,而不是源URL。

    一旦完成,您将从CDN的边缘服务器交付您的网站的静态资产,而不是您自己的。这不仅能提高网站的速度,还能提高安全性,减少服务器上的负载,增加冗余。

    

    结论

    如果你正在寻找提高网站性能和安全性的方法,这五种方法都是很好的选择。它们不仅相对容易实现,而且还会使整个堆栈现代化。

    其中一些技术还在全球采用的过程中(在浏览器支持、插件支持等方面);然而,随着需求的增加,兼容性也会增加。值得庆幸的是,有一些方法可以实现对支持它们的浏览器的一些技术(如Brotli和WebP图像),同时又可以回到老方法,而不是浏览器。

    最后要注意的是,如果你还没有把你的网站迁移到HTTPS,那么尽快去做。HTTPS现在是标准的,需要使用某些技术,比如HTTP / 2和Brotli。你的网站将会更加安全,会执行得更快(感谢HTTP / 2),并且在谷歌的眼睛里看起来更好。




标签:
分享到 分享到微信 分享到新浪微博 分享到QQ空间 分享到腾讯微博
相关阅读
Copyright © 2013.济南远畅科技 All rights reserved. 地址:山东省济南市天桥区堤口路名泉春晓1-1-803 电话:0531-58762510