web性能优化

1.减少外部HTTP请求

网页加载的时间与http请求密不可分,而外部资源的加载的速度则与主机服务提供商服务器架构和分布地点有关。我们可以通过检查自己的网站上多余的图片、css、JavaScript和一些组件,然后对应的去逐个完善,就可以减少一些http请求。

2.按需加载资源

资源(特别是图片)的按需加载或者说惰性加载,可以有助于你的web应用在整体上获得更好的性能。对于使用大量图片的页面来说惰性加载有着显著的三个好处。

  1. 减少向服务器发出的并发请求数量(这就使得页面的其他部分获得更快的加载时间)
  2. 减少浏览器的内存使用率(更少的图片,更少的内存)
  3. 减少服务器端的负载

大体上的理念就是只在必要的时候才去加载图片资源(如视频),比如在第一次被显示的时候,或者是在将要显示的石斛对其进行加载。由于这种方式跟你建站的方式密切相关,惰性加载的解决防范通常需要借助其他库的插件或者扩展来实现。

3. 使用预获取

顾名思义预获取就是在真正有需要去请求之前就获取一些必要的数据和资源,以提升用户的浏览体验。预获取主要有三大方式:

  1. 链接预先获取
  2. DNS预先获取
  3. 预先渲染

根据你想要使用的预先获取形式,你只需在网站 HTML 中的链接属性上增加 rel=“prefetch”,rel=“dns-prefetch”,或者 rel=“prerender” 标记。

4.压缩HTML、CSS和JavaScript

在编写代码时候会有一些多余的空格,这会占用字节,使用一些压缩工具可以有效解决这个问题。值得注意的是,压缩后的文件,其可读性就会变差,后期想维护就会变得困难了。

5. 使用CDN

CDN(内容分发网络)部署在各大运营商机房,当用户通过浏览器请求资源时可以直接反馈给用户,极大的减轻了服务器数据中心的压力。本质上CDN也是一种缓存,如果你的所在地距离某个CDN节点很近,那么网站响应的速度提升也是非常明显的。另外CDN所缓存的资源主要为静态资源,如静态页面、图片、css和js文件等。CDN加速对于一些遍布范围较大的网站来说效果最为明显,使用的话像阿里云CDN产品,其节点多达280多个,覆盖运营商也比较全面。

6.Ajax请求方式

POST的请求,是不可以在客户端缓存的,每次请求都需要发送给服务器进行处理,每次都会返回状态码200。(可以在服务器端对数据进行缓存,以便提高处理速度)

GET的请求,是可以(而且默认)在客户端进行缓存的,除非指定了不同的地址,否则同一个地址的AJAX请求,不会重复在服务器执行,而是返回304。所以在进行Ajax请求的时候,可以选择尽量使用get方法,这样可以使用客户端的缓存,提高请求速度。

你可能感兴趣的:(web性能优化,2019-07)