Open shaozj opened 7 years ago
转载自@笑博,翻译自google大牛
1. 删除不必要的下载(即减少http访问请求) 2. 优化基于文本的资产的编码和传输大小 3. 图片优化 4. 网页字体优化 5. HTTP 缓存
要实现所需的效果,是否确实需要图片
在优化图片时,要记住下列技巧和方法: 首选矢量格式:矢量图与分辨率和缩放无关,最适用于多设备或高分辨率的情况。 缩减和压缩 SVG 资源:大多数绘图应用程序生成的 XML 标记通常包含不必要的元数据,可以删除;确保服务器配置为对 SVG 资源采用 GZIP 压缩。 选择最佳光栅图格式:确定功能要求,然后选择适合每个特定资源的格式。 体验光栅格式的最优质量设置:随意降低’质量’设置,效果通常非常好,而字节可能会节省很多。 删除不必要的图片元数据:许多光栅图包含不必要的资源元数据:地理信息、相机信息等。使用适合的工具删除这些数据。 提供缩放的图片:调整服务器上的图片尺寸,确保’显示’尺寸尽可能接近图片的’自然’尺寸。尤其要密切关注较大的图片,因为这些图片在调整尺寸时,占用了最大的额外开销! 自动:投资自动化的工具和基础设施,这样,可以确保所有图片资源始终会进行优化。
在优化图片时,要记住下列技巧和方法:
在定义缓存策略时,要记住下列技巧和方法: 使用一致的网址:如果您在不同的网址上提供相同的内容,将会多次获取和存储该内容。提示:注意,网址区分大小写! 确保服务器提供验证令牌 (ETag):通过验证令牌,如果服务器上的资源未被更改,就不必传输相同的字节。 确定中继缓存可以缓存哪些资源:对所有用户的响应完全相同的资源很适合由 CDN 或其他中继缓存进行缓存。 确定每个资源的最优缓存周期:不同的资源可能有不同的更新要求。审查并确定每个资源适合的 max-age。 确定网站的最佳缓存层级:对 HTML 文档组合使用包含内容指纹码的资源网址以及短时间或 no-cache 的生命周期,可以控制客户端获取更新的速度。 搅动最小化:有些资源的更新比其他资源频繁。如果资源的特定部分(例如 JavaScript 函数或一组 CSS 样式)会经常更新,应考虑将其代码作为单独的文件提供。这样,每次获取更新时,剩余内容(例如不会频繁更新的库代码)可以从缓存中获取,确保下载的内容量最少。
在定义缓存策略时,要记住下列技巧和方法:
转载自@笑博,翻译自google大牛
1. 删除不必要的下载(即减少http访问请求)(最快和最好的优化资源是不需要下载的资源。)
2. 优化基于文本的资产的编码和传输大小
3. 图片优化
要实现所需的效果,是否确实需要图片
—— 能否利用CSS效果等更高效的方式替代4. 网页字体优化
5. HTTP 缓存