문제

IE6은 http 헤더를 통해 전송된 모든 형태의 캐시 무효화를 무시하는 것 같습니다. Pragma를 캐시 없음으로 설정하고 캐시 만료를 현재 시간으로 설정하려고 시도했지만 IE6에서 다시 누르면 항상 캐시된 페이지 버전이 표시됩니다. 작업 중입니다.

IE6도 수신하는 특정 HTTP 헤더가 있습니까?

도움이 되었습니까?

해결책

Cache-Control: private, max-age=0 그것을 고쳐야합니다.클래식 ASP에서는 다음과 같이 수행됩니다. Response.Expires=-1.

테스트할 때 서버가 캐싱이 꺼진 페이지를 제공한다고 해서 브라우저가 캐시해도 괜찮다는 이전에 캐시된 페이지가 있을 때 이를 준수한다는 의미는 아닙니다.캐시를 지우거나 F5를 사용하여 해당 페이지를 강제로 다시 로드하세요.

또한 서버가 캐시된 콘텐츠를 제공하는 경우 사용할 수 있습니다. Ctrl+F5 캐시에서 서비스를 제공하지 않도록 서버에 신호를 보냅니다.

다른 팁

조심해야합니다.XMLHttpRequest(XHR)를 통해 AJAX를 사용하는 경우 헤더에 설정된 캐시 "권장사항"이 ie6에서 준수되지 않습니다.

해결 방법은 AJAX 요청에 사용되는 URL 쿼리에 임의의 숫자를 추가하는 것입니다.예를 들어:

http://test.com?nonce=0123 

이를 위한 좋은 생성기는 사용자 브라우저에 대한 고유한 타임스탬프를 반환하는 UTC() 함수입니다.즉, 시스템 시계를 엉망으로 만들지 않는 한 말입니다.

헤더에 ETag를 설정해 보셨나요?콘텐츠가 변경되었음을 나타내는 매우 안정적인 방법입니다. w3c 사양 & 위키피디아

그 외에도 좀 더 조잡한 방법은 현재 Unix 타임스탬프와 같은 임의의 쿼리 문자열 매개변수를 요청에 추가하는 것입니다.내가 말했듯이 조잡하지만 IE6은 가장 미묘한 짐승은 아닙니다.

약간의 참고사항:경험상 나는 ctrl-f5를 통해 페이지를 강제로 다시 로드하더라도 IE6이 캐시에서 Javascript를 로드한다는 것을 알고 있습니다.따라서 Javascript로 작업하는 경우 항상 캐시를 비우십시오.

IE 웹 개발자 도구 모음은 이에 대해 엄청난 도움을 줄 수 있습니다.캐시를 지우는 버튼이 있습니다.

"콘텐츠 인코딩:"Cache-Control:"을 사용하더라도 gzip"은 항상 캐시됩니다.캐시 없음"

http://support.microsoft.com/kb/321722

IE6에서만 gzip을 비활성화할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top