我想在浏览器中缓存一个特定的aspx页面。我有充分理由将其作为ASPX页面使用,我需要在浏览器上进行缓存。
现在,在服务器缓存上,我可以通过参数改变缓存。在缓存页面响应时,浏览器是否也会考虑参数?
E.g。将以下两个响应保存为浏览器中的两个不同缓存项 吗? http://mypage.com/page.aspx?Param=1 和 http://mypage.com/page.aspx?Param=2
答案 0 :(得分:5)
是的,浏览器会将这些网址视为2个不同的资源,因此它会单独缓存它们(如果缓存标头指示这样做)。
您可以使用Fiddler轻松测试它。
答案 1 :(得分:2)
编辑2: How to instruct browsers to ignore GET parameters when caching a resource描述了类似的问题,如果您想将这两个页面缓存为同一页面,则可能很难。如果您希望它们不同,则应设置默认行为,但请确保
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="CACHE">
标记设置为明确告诉浏览器执行此操作。
原始答案:
您可以选择是否需要。例如,如果您希望缓存不同,请使用varyByParam =“param”设置输出缓存:
<%@ OutputCache Duration="60" VaryByParam="Param" %>
如果您不使用vary by param选项,则这两个页面都将缓存相同的内容。如果要根据多个参数进行更改,请使用分号分隔。如果你想改变所有参数,请使用*通配符:
<%@ OutputCache Duration="60" VaryByParam="*" %>
有关输出缓存的更多信息: http://msdn.microsoft.com/en-us/library/y96218s9.aspx
编辑: 只需重新阅读您的问题。这将导致服务器端缓存,而不是浏览器。