假设我有这样的img标记,
<img src = "myimage.jpg" width ="50" height = "50">当浏览器第一次遇到这种情况时,它将下载图像文件并渲染它。当再次刷新我的页面时,当浏览器遇到此行时,它是会再次发送下载文件的请求,还是会从缓存中读取。它将采取的所有过程的顺序是什么。
我马上想到的另一个问题是,如果我更改图像内容而不是图像名称(Myimage),如果浏览器读取缓存的图像,则图像的内容将与我的服务器中的内容不同。如何克服这个问题?
对答案不满意。有人能告诉我,在这些情况下,进程浏览器的所有顺序都会做什么?
发布于 2012-04-07 16:56:17
浏览器将向服务器发送对该图像的请求,即使它已经缓存了该图像(至少根据firebug中的网络日志)。据我所知,服务器会返回“上次下载/修改日期”,如果过了太长时间(通常在3天左右浏览器会重新下载缓存内容),则会触发新的下载。
克服这个问题的最简单方法是在文件名中添加一个版本或发布日期,这样浏览器就会忽略它的缓存。
发布于 2012-04-07 16:50:37
浏览器执行的操作取决于第一次与图像一起返回的HTTP标头。根据响应的缓存设置,浏览器可以:
的情况下使用缓存中的图像
https://stackoverflow.com/questions/10053068
复制相似问题