影响Web浏览器中图像缓存的一整套因素是什么? Web开发人员对此有多少控制权,浏览器设置多少?其他类型的资产(即脚本,音频)有不同的考虑因素吗?
由于
答案 0 :(得分:1)
一整套因素:
Web开发人员几乎无法控制,但这很好。请记住,缓存是为了最终用户的利益而完成的,通常是为了减少页面加载时间,而且通常不可能知道每个用户特有的所有注意事项。
可以控制的位是到期时间和无缓存行为。这些分别指定用户想要来重新获取资源,因为预期它会因其他原因而被更改或不应被缓存。
浏览器可能会以不同于其他资源的方式处理图像(主要是在未指定的默认过期时间不同),但您可以为任何资源发送HTTP标头。
答案 1 :(得分:0)
从客户端,检查客户端浏览器是否向服务器发送If-Modified-Since标头。如果客户端发送标头,IIS将响应304 Not Modified,因此客户端将使用其本地缓存来显示/使用该文件。
客户端设置对此负责。 IE - >工具 - >互联网选项 - >浏览历史记录 - >设置 - >自动确保发生这种情况。不同的浏览器将具有不同的区域用于此设置。
对于脚本/音频,您可以将它们放在内容的特殊文件夹中,只需从服务器设置内容过期,以便服务器向客户端发送适当的信息,以便在请求时缓存该文件。但这不是开发者设置。
开发人员设置通常用于动态文件。基于语言[在ASP.NET中,OutputCache指令创建不同的缓存头],这会有所不同。