## 服务端优化
> * 避免404。
> * 更改404错误响应页面可以改进用户体验,但是同样也会浪费服务器资源。
> * 指向外部`JAVASCRIPT`的链接出现问题并返回404代码。
> * 这种加载会破坏并行加载。
> * 其次浏览器会把试图在返回的404响应内容中找到可能有用的部分当作JavaScript代码来执行。
> * 删除重复的`JAVASCRIPT`和`CSS`。
> * 重复调用脚本缺点。
> * 增加额外的HTTP请求。
> * 多次运算也会浪费时间。在IE和Firefox中不管脚本是否可缓存,它们都存在重复运算`JAVASCRIPT`的问题。
> * `ETags`配置`Entity`标签。
> * `ETags`用来判断浏览器缓存里的元素是否和原来服务器上的一致。
> * 与`last-modified date`相比更灵活。 >如某个文件在1秒内修改了10次,`ETags`可以综合`Inode`(文件的索引节点`inode`数),`MTime`(修改时间)和`Size`来精准的进行判断,避开`UNIX`记录`MTime`只能精确到秒的问题。服务器集群使用,可取后两个参数。使用`ETags`减少`Web`应用带宽和负载
> * 权衡DNS查找次数
> * 减少主机名可以节省响应时间。但同时也会减少页面中并行下载的数量。
> * `IE`浏览器在同一时刻只能从同一域名下载两个文件。当在一个页面显示多张图片时,`IE`用户的图片下载速度就会受到影响。
> * 通过Keep-alive机制减少TCP连接。
> * 通过CDN减少延时。
> * 平行处理请求(参考BigPipe)。
> * 通过合并文件或者Image Sprites减少HTTP请求。
> * 减少重定向( HTTP 301和40x/50x)。