- 避免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)。