2012-08-29 2 views
5

브라우저에 캐시 된 특정 aspx 페이지를 원합니다. ASPX 페이지로 사용하는 데 유효한 이유가 있으며 브라우저에서 캐싱이 필요합니다.브라우저의 캐싱은 URL의 매개 변수를 고려합니까? (ASPX 페이지)

이제 서버 캐시에서 매개 변수별로 캐싱을 변경할 수 있습니다. 브라우저가 페이지 응답을 캐싱하는 동안 매개 변수를 고려합니까?

예. 다음 두 가지 응답은 브라우저에 두 개의 다른 캐시 항목으로 저장됩니다 ? http://mypage.com/page.aspx?Param=1http://mypage.com/page.aspx?Param=2

답변

5

는 별도로 캐시 있도록 예, 브라우저가 2 개 개의 다른 자원으로 해당 URL을 처리합니다 (경우 캐시 헤더에 그렇게 표시).

Fiddler을 사용하면 쉽게 테스트 할 수 있습니다.

+0

포인터를 피들러 주셔서 감사합니다. 비록 내가이 문제에 사용하지는 않았지만, 내가 가진 다른 것들에 확실히 도움이되었다. –

2

편집 2 : How to instruct browsers to ignore GET parameters when caching a resource은 비슷한 문제를 설명하고 두 페이지를 같은 페이지로 캐시하려는 경우 어려울 수 있습니다. 당신이 그 (것)들을 다르게하려는 경우, 당신은 기본 동작으로 설정하지만

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

태그가 명시 적으로 할 수있는 브라우저에게 설정되어 있는지 확인해야한다.

원래 답 :

당신이 원한다면 당신은 선택할 수 있습니다. 다르게 캐시 사람들을하려는 경우 예를 들어, VaryByParam 특성 = "PARAM"로 출력 캐시를 설정 : 당신은이 PARAM 옵션에 따라 다를 사용하지 않는 경우, 해당 페이지 모두 동일한 캐시합니다

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

. 매개 변수를 여러 개 변경하려면 세미콜론으로 구분하십시오. 출력 캐싱에

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

상세 정보 : 당신은 우리에게 모든 PARAMS하여 * 와일드 카드를 변경하려면 http://msdn.microsoft.com/en-us/library/y96218s9.aspx

편집 : 그냥 질문을 다시 읽어보십시오. 이로 인해 브라우저가 아닌 서버 쪽에서 캐싱이 발생합니다.

관련 문제