## `HTML`优化
> * 插入`HTML`。
> * `JavaScript`中使用`document.write`生成页面内容会效率较低,可以找一个容器元素,比如指定一个`div`,并使用`innerHTML`来将`HTML`代码插入到页面中。
> * 避免空的`src`和`href`。
> * 当`link`标签的`href`属性为空、`script`标签的`src`属性为空的时候,浏览器渲染的时候会把当前页面的`URL`作为它们的属性值,从而把页面的内容加载进来作为它们的值。
> * 为文件头指定`Expires`。
> * 使内容具有缓存性,避免了接下来的页面访问中不必要的HTTP请求。
> * 重构HTML,把重要内容的优先级提高。
> * Post-load(次要加载)不是必须的资源。
> * 利用预加载优化资源。
> * 合理架构,使DOM结构尽量简单。
> * 利用`LocalStorage`合理缓存资源。
> * 尽量避免CSS表达式和滤镜。
> * 尝试使用defer方式加载Js脚本。
> * 新特性:will-change,把即将发生的改变预先告诉浏览器。
> * 新特性Beacon,不堵塞队列的异步数据发送。
> * 不同之处:网络缓慢,缓存更小,不令人满意的浏览器处理机制。
> * 尽量多地缓存文件。
> * 使用HTML5 Web Workers来允许多线程工作。
> * 为不同的Viewports设置不同大小的Content。
> * 正确设置可Tap的目标的大小。
> * 使用响应式图片。
> * 支持新接口协议(如HTTP2)。
> * 未来的缓存离线机制:Service Workers。
> * 未来的资源优化Resource Hints(preconnect, preload, 和prerender)。
> * 使用Server-sent Events。
> * 设置一个Meta Viewport。