2010-06-07 9 views
0

원하지 않는 브라우저 캐시를 사용하는 일부 정적 페이지 문제가 나타납니다. 내가합니다 (인터넷 탭) 방화범에서 페이지를 열 경우 캐싱을 방지하기 위해, 내가 Web.config의asp.net에서 캐시 문제가 발생했습니다.

에 관련 <location> 태그에

<clientCache cacheControlMode="DisableCache" /> 

을 설정하고있어, 내가 볼 응답 헤더가 Cache-Control: no-cache이 맞지만 응답 상태는 입니다. 304 Not Modified! 그게 모순이 아닌가? 캐싱을 중지하려면 (즉 콘텐츠가 항상 200 인 경우) 어떻게 가져올 수 있습니까?

+1

더 좋은 질문이있을 수 있습니다 당신은, 그러나, 응답에 명시 적으로 헤더를 설정할 수 있습니다 ... "왜 IIS가 가지고있는 파일이 더 새로운 파일이라고 생각하지 않습니까?" 이 문제를 해결할 수 있다면 캐싱 기능을 해제하여 성능 저하 문제를 해결할 필요가 없습니다. – David

답변

3

는 RFC (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1, 섹션 14.9.1) 캐시 제어에 따르면 노 캐시가 먼저 서버와 재 검증없이 캐시 된 내용 를 사용하지 않도록 브라우저를 알려줍니다. 그래서 당신이 304를 본 이유입니다. 제 생각 엔 당신이 Cache-Control: no-store을 찾고 있다고 생각합니다.

구성 파일을 통해 no-store를 보낼 수 있는지 확실하지 않습니다.

Response.Cache.SetNoStore(); 

편집 :

(OP에 의해)은 내가 찾고 있던 것은이었다

<clientCache cacheControlCustom="no-store" /> 
+0

하지만 코드에서가 아니라 web.config에서이를 수행하려고합니다. 보다 나은 옵션이 있습니까? – JoelFan

+0

시도해보십시오 (테스트되지 않음) :

+0

이 페이지 http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache는 "no-store"를 다음과 같이 나열하지 않습니다. 가능한 설정 – JoelFan

관련 문제