2012-08-29 7 views
5

Chcę, aby konkretna strona aspx była przechowywana w pamięci podręcznej przeglądarki. Mam uzasadnione powody, dla których jest to strona ASPX i potrzebuję buforowania w przeglądarce.Czy pamięć podręczna przeglądarki uwzględnia parametry w adresie URL? (Strona ASPX)

Teraz, w pamięci podręcznej serwera, mogę zmienić buforowanie według parametru. Czy przeglądarka również bierze pod uwagę parametry podczas buforowania odpowiedzi strony?

E.g. Czy następujące dwie odpowiedzi będą zapisywane jako dwa różne elementy pamięci podręcznej w przeglądarce? http://mypage.com/page.aspx?Param=1 i http://mypage.com/page.aspx?Param=2

Odpowiedz

5

Tak, przeglądarka będzie traktować te adresy URL jako 2 różnych źródeł, więc będzie buforować je oddzielnie (w nagłówkach cache przypadków wskazuje, aby to zrobić).

Można go łatwo przetestować za pomocą Fiddler.

+0

Dzięki za wskazówkę dla skrzypka. Chociaż nie użyłem go do tego problemu, zdecydowanie był pomocny w innych rzeczach, które miałem. –

2

Edytuj 2: How to instruct browsers to ignore GET parameters when caching a resource opisuje podobny problem, a jeśli chcesz buforować obie te strony jako tę samą stronę, może to być trudne. Jeśli chcesz, żeby być inna, powinna być ustawiona z domyślnego zachowania, ale upewnij się, że Twój

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

znacznik jest ustawiony wyraźnie poinformować przeglądarkę, aby to zrobić.

odpowiedź oryginalny:

Możesz wybrać, czy chcesz go. Na przykład, jeśli chcesz, aby ci cache inaczej ustawić bufor wyjściowy z varyByParam = „param”:

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

jeśli nie używać różnić w zależności od opcji param, zarówno z tych stron będzie buforować samo. Jeśli chcesz zmienić wiele parametrów, oddziel je średnikami. Jeśli chcesz zmieniać przez wszystkie params, nam * wieloznaczny:

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

Więcej informacji na temat buforowania wyjścia: http://msdn.microsoft.com/en-us/library/y96218s9.aspx

Edit: Wystarczy ponownie przeczytać swoje pytanie. Spowoduje to buforowanie po stronie serwera, a nie przeglądarki.