同一个资源保证URL的稳定性
URL是浏览器缓存机制的基础,所以如果一个资源需要在多个地方被引用,尽量保证URL是固定的。同时,比较推荐使用公共类库,比如Google Ajax Library等,有利于最大限度使用缓存
给Css、js、图片等资源增加HTTP缓存头,并强制入口Html不被缓存
对于不经常修改的静态资源,比如Css,js,图片等,可以设置一个较长的过期的时间,或者至少加上Last-Modified/Etag,而对于html页面这种入口文件,不建议设置缓存。这样既能保证在静态资源不变了情况下,可以不重发请求或直接通过304避免重复下载,又能保证在资源有更新的,只要通过给资源增加时间戳或者更换路径,就能让用户访问最新的资源
减少对Cookie的依赖
过多的使用Cookie会大大增加HTTP请求的负担,每次GET或POST请求,都会把Cookie都带上,增加网络传输流量,导致增长交互时间;同时Cache是很难被缓存的,应该尽量少使用,或者这在动态页面上使用。
减少对HTTPS加密协议的使用
通过HTTPS请求的资源,默认是不会被缓存的,必须通过特殊的配置,才能让资源得到缓存。建议只对涉及敏感信息的请求使用HTTPS传输,其他类似Css,Js,图片这些静态资源,尽量避免使用。
如何给站点增加缓存机制
HTTP请求/响应头中缓存报头对有效利用站点缓存,作为一个Web前端开发者,我要做什么呢?答案是:啥都不用做。不过要去推动Web运营人员、Web后端开发人员分别给服务器和动态脚本CGI增加合适的缓存报头。
服务器配置
Apache相关配置参考:mod_headers、mod_headers