前端性能优化建议
HTML:使用协商缓存。
CSS&JS&图片:使用强缓存,文件命名带上hash值,使用chunkhash或contenthash,不使用hash。
以nodejs为例,如果需要浏览器强缓存,我们可以这样设置:
res.setHeader('Cache-Control', 'public, max-age=xxx');
如果需要协商缓存,则可以这样设置:
res.setHeader('Cache-Control', 'public, max-age=0');
res.setHeader('Last-Modified', xxx);
res.setHeader('ETag', xxx);
如果不是强制刷新,而且请求头带上了if-modified-since和if-none-match两个字段,则先判断etag,再判断last-modified。