https://developers.google.com/web/fundamentals/performance/?hl=zh-cn
删除不必要的下载
- 清点网页上所有自己的和第三方的资源
- 评估每个资源的表现:资源的价值及其技术性能
- 确定这些资源是否提供了足够的价值
检查页面里有哪些资源是未使用的,评估哪些资源对用户来说是没必要的,尽管删除不必要的下载。定期清点和重新评估上述问题。
数据压缩
源码压缩
去掉不必要的注释,空格,合并css。
<style>
.awesome-container { font-size: 120% }
.awesome-container { width: 50% }
</style>
<style>
.awesome-container { font-size: 120%; width: 50%}
</style>
GZIP压缩
对文本内容(html,css,js)进行gzip压缩,效果非常明显。nginx只开启gzip on
是不支持js压缩的,需要配置gzip_types
参数,配置参考。
图片优化
网页字体优化
HTTP缓存
public和private
- public:
public
一般不是必须的,因为max-age
已经表示可以缓存。 - private: 浏览器可以缓存
private
,但中继缓存不能缓存(比如CDN不应缓存包含private
的数据)。
no-cache和no-store
- no-cache: 表示每次都会向服务器确认文件是否被更改(使用Etag,如果有),如果没更改就304,更改了就下载新的文件。
- no-store: 禁止所有缓存(浏览器,中继缓存)。