代码之家  ›  专栏  ›  技术社区  ›  Yarin

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

  •  4
  • Yarin  · 技术社区  · 14 年前

    影响Web浏览器中图像缓存的完整因素有哪些?Web开发人员对此有多大的控制权,浏览器设置有多大?对于其他类型的资产(如脚本、音频)是否有不同的考虑?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  1
  •   Fred Nurk    14 年前

    全套因素:

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

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

    咬了你一口 可以 控件是过期时间,没有缓存行为。它们分别指定用户 欲望 重新提取资源,因为资源可能已更改,或者由于其他原因不应缓存。

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

        2
  •  0
  •   Rahul Soni    14 年前

    从客户机端,检查客户机浏览器是否在自头文件修改后发送到服务器。如果客户端发送头,则IIS将响应304而不是修改,因此客户端将使用其本地缓存来显示/使用该文件。

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

    对于脚本/音频,您可以将它们放在内容的特殊文件夹中,并简单地从服务器设置内容过期,以便服务器在需要时向客户机发送适当的信息以缓存文件。不过,这不是开发人员设置。

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