后台开发的时候虽然不会像前端一样去考虑兼容ios或者代码怎么通过审核上线的问题。但是客户端开发的时候,浏览器这部分还是要我们去面对的。你会遇到的浏览器问题很多,不考虑ie7以下的兼容问题,或者是组件在不同浏览器造成的样式问题,我们今天要说的,是浏览器缓存问题。
我们通常很依赖浏览器的缓存机制,比如说cookie,没有这玩意服务端根本不知道这个请求是谁发出的。当然浏览器还有input记忆输入的功能,当然你也可以手动关闭它(比如谷歌)。
但从软件开发者的角度来说,浏览器缓存问题可能是一个思维盲点。比如说,我在运维某个已上线的项目时,按照项目经理的要求给登录页换张背景图片,但是替换了图片之后,意外发现浏览器的图片没有刷新。虽然我替换图片时没有重启tomcat,但这很显然不是这个问题,因为谷歌无痕可以正常显示。那么问题就很明显了,这是浏览器缓存问题。这个问题必须得解决,因为客户可不会听你的话去乖乖清浏览器缓存、或者开无痕浏览甚至换浏览器什么的。之所以说它讨厌就是因为可以正儿八经解决它的方法不多,不会像linux一行指令服务器就乖乖听话,我们只能选择绕过它。
索性我们之前也是这么绕过的,我们的html文件在引用js文件的时候,后面会拼上一个
没错,就是时间戳。
所以…不,我没有拼那玩意,我给图片改了个名字, it works well.