了解Web浏览器中的图像缓存

时间:2010-11-18 03:43:30

标签: html image caching browser assets

影响Web浏览器中图像缓存的一整套因素是什么? Web开发人员对此有多少控制权,浏览器设置多少?其他类型的资产(即脚本,音频)有不同的考虑因素吗?

由于

2 个答案:

答案 0 :(得分:1)

一整套因素:

  • 影响缓存的HTTP标头
  • 用户代理(浏览器)的内置缓存行为
    • 可以通过用户设置进行修改,具体取决于UA
    • 包括可能使用的私密浏览模式,然后为每个会话清除单独的缓存
  • 用户的操作,例如手动清除缓存

Web开发人员几乎无法控制,但这很好。请记住,缓存是为了最终用户的利益而完成的,通常是为了减少页面加载时间,而且通常不可能知道每个用户特有的所有注意事项。

可以控制的位是到期时间和无缓存行为。这些分别指定用户想要来重新获取资源,因为预期它会因其他原因而被更改或不应被缓存。

浏览器可能会以不同于其他资源的方式处理图像(主要是在未指定的默认过期时间不同),但您可以为任何资源发送HTTP标头。

答案 1 :(得分:0)

从客户端,检查客户端浏览器是否向服务器发送If-Modified-Since标头。如果客户端发送标头,IIS将响应304 Not Modified,因此客户端将使用其本地缓存来显示/使用该文件。

客户端设置对此负责。 IE - >工具 - >互联网选项 - >浏览历史记录 - >设置 - >自动确保发生这种情况。不同的浏览器将具有不同的区域用于此设置。

对于脚本/音频,您可以将它们放在内容的特殊文件夹中,只需从服务器设置内容过期,以便服务器向客户端发送适当的信息,以便在请求时缓存该文件。但这不是开发者设置。

开发人员设置通常用于动态文件。基于语言[在ASP.NET中,OutputCache指令创建不同的缓存头],这会有所不同。