oliver1204 / randomNotes

用来记录平时的日常总结
1 stars 0 forks source link

《高性能网站建设指南》(二)-- 网站优化的方式 #7

Open oliver1204 opened 7 years ago

oliver1204 commented 7 years ago

1. 减少HTTP请求

 computed: {
   captchaImage() {
      return `//mainsite-restapi/v1/captchas/`
   }
}

<img :src="captchaImage">

2. 使用内容发布网络(CDN)-- Content Delivery Network

如果应用程序Web服务器离用户很近,则一个HTTP请求所花费的时间将缩短(最早,很多网站都会提供电信 / 网通等不同二级域名,供不同运营商用户选择,这无疑增加了使用成本。当前,一般网站都使用 DNS 服务来解决这个问题:按地域、运营商等条件,将用户 DNS 请求解析到最合适的 IP),如果组件Web服务器离用户很近,则多个HTTP请求响应时间将会缩短。而且增加组件Web服务器相对于增加应用程序Web服务器而言简单很多,因此CDN非常的实用。 CDN是一组分布在不同地理位置的Web服务器,用于有效的向用户发布内容。 优势:

3. 压缩

压缩通常是压缩脚本和样式表,甚至是HTML和JSON ,对用图片和 PDF 一般不会压缩。因为不必要的压缩会给服务器端带来额外的CPU消耗,客户端也需要消耗资源来解压缩。

4. 减少DNS的查询

首先介绍两篇关于 DNS 的文章,感觉写的好棒! http://www.ruanyifeng.com/blog/2016/06/dns.html https://imququ.com/post/http-alt-svc.html

请求支持keep-alive特性,同时可以覆盖TTL(time-to-live)和浏览器的时间限制。换句话说,质押浏览器的服务器可以愉快的聊天,就没有必要去查询DNS。

5. 图片多的页面使用webP

1、https://segmentfault.com/a/1190000005898538 2、http://isux.tencent.com/introduction-of-webp.html 使用时,检测浏览器是否支持 webp 即可

const VueImg = Object.create(null)

VueImg.canWebp = false
const img = new Image()
img.onload = () => { VueImg.canWebp = true }

6. 避免重定向

oliver1204 commented 7 years ago

7、向 script 标记添加异步关键字可以指示浏览器在等待脚本可用期间不阻止 DOM 构建,这样可以显著提升性能。

<html>
  <head>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <link href="style.css" rel="stylesheet">
    <title>Critical Path: Script Async</title>
  </head>
  <body>
    <p>Hello <span>web performance</span> students!</p>
    <div><img src="awesome-photo.jpg"></div>
    <script src="app.js" async></script>
  </body>
</html>

详见

oliver1204 commented 7 years ago

8、性能渲染

性能渲染