2012-08-29 17 views
5

Quiero una página aspx particular almacenada en caché en el navegador. Tengo razones válidas para tenerlo como una página ASPX y necesito el almacenamiento en caché en el navegador.¿El almacenamiento en caché del navegador tiene en cuenta los parámetros en la URL? (Página ASPX)

Ahora, en la caché del servidor, puedo variar el almacenamiento en caché por parámetro. ¿El navegador también tiene en cuenta los parámetros al almacenar en caché las respuestas de la página?

E.g. ¿Se guardarán las siguientes dos respuestas como dos elementos de caché diferentes en el navegador? http://mypage.com/page.aspx?Param=1 y http://mypage.com/page.aspx?Param=2

Respuesta

5

Sí, el navegador va a tratar estas como 2 recursos diferentes por lo que almacenar en caché por separado (en las cabeceras de caché caso indica que lo haga).

Puede probarlo fácilmente usando Fiddler.

+0

Gracias por su puntero al violinista. Aunque no lo usé para este problema, definitivamente fue útil para otras cosas que tenía. –

2

Editar 2: How to instruct browsers to ignore GET parameters when caching a resource describe un problema similar, y si desea almacenar ambas páginas en la misma página, puede ser difícil. Si quieres que sean diferentes, que debe ser fijado con el comportamiento por defecto, pero asegúrese de que su

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="CACHE"> 

variable se pone a indicar explícitamente al navegador para hacerlo.

Respuesta original:

Puede elegir si desea. Por ejemplo, si desea que los de caché diferente, establecer una caché de resultados con VaryByParam = "parámetro":

<%@ OutputCache Duration="60" VaryByParam="Param" %> 

si no se utiliza el parámetro varían según la opción, tanto de esas páginas depositará la misma. Si desea variar según múltiples parámetros, sepárelos con punto y coma. Si desea variar por todos los parametros nosotros, el comodín *:

<%@ OutputCache Duration="60" VaryByParam="*" %> 

Más información en la memoria caché de salida: http://msdn.microsoft.com/en-us/library/y96218s9.aspx

Editar: Sólo volver a leer su pregunta. Esto causará el almacenamiento en caché en el lado del servidor, no en el navegador.

Cuestiones relacionadas