- 静态资源用CDN部署
- 添加Expires或者cache-control报文头
- Gzip压缩传输文件
- 配置Etags
- 使用Get ajax请求
- 避免空图片src
- 尽早flush response
- 减少cookies大小
1.使用CDN
CDN通过部署在不同地区的服务器来提高客户的下载速度。
2.添加Expires或者Cache-Control报文头
对于静态内容添加exoires,给静态内容设置一个较长过期时间。
对于动态内容添加cache-control,让浏览器根据条件发送请求
3.Gzip压缩传输文件
Gzip通常可以减少70%网页内容的大小,包括脚本、样式、图片文件等。
4.配置ETags
Etag是一个文本版本标识器,可以轻松的判断出该请求的内容是否有更新,如果没有,就返货304,从而避免下载整个文件
5.使用GET ajax请求
浏览器在实现XMLHttpReuest Post的时候分两步,先发送header,然后发送数据。而GET却可以同一个TCP报文完成。
6.避免空的图片src
空的图片任然会使浏览器发送请求到服务器,这样就浪费服务器资源了
7.尽早flush response
网页后台程序中有个Response.flush()方法,一般是在程序末尾调用,但这个方法可以被多次调用。目的是可以将现有的缓存中的回复内容先发给客户端,让客户端“有活干”。一般情况下我们可以在对于需要加载比较多外部脚本或者样式表时可以提前调用一次,客户端收到了关于脚本或其他外部资源的链接可以并行的先发请求去下载,服务器接下来把后续的处理结果发给客户端。
8.减少cookies大小
去除没必要的cookie,将cookie size减到最小
静态文件使用无cookie域名:大多数网站的静态资源都没必要cookie,可以采用不同的domain来单独存放静态文件,可以减少cookie大小从而提高响应速度,还有一个好处是有些proxy拒绝缓存带有cookie的内容,如果能将这些静态资源cookie去除,那就可以得到这些proxy的缓存支持。常见的划分domain的方式是将静态文件放在static.example.com,动态内容放在www.example.com。