2012-02-12 2 views
3

브라우저에서 오는 Cache-Control: max-age=0 헤더가 내 레일 3.1 앱에서 md5 캐시 버스터가있는 정적 자산이 브라우저의 캐시를 완전히 재 검증하도록 요청하기 때문에 영구적으로 캐시되지 않습니다. 304가 수정되지 않도록하는 것. 나는 브라우저가 자체 캐시를 사용하고 결코 재 검증하지 않기를 바란다. 내 서버가 다음 헤더 max-age=31536000, public을 보내고 있습니다.사용자 에이전트 숨기기 max-age = 0 헤더

+0

나는 이해할 수 없다. 'Cache-Control'은 대개 요청이 아닌 응답으로 보내집니다. 이 점을 분명히 할 수 있습니까? – awendt

+0

@awendt'Cache-Control' 헤더는 두 가지 의미가 있으며'max-age'는 HTTP 1.1에서 두 가지 의미가 있습니다. – spinkus

답변

0

Cache-Control: max-age=0은 사용자 에이전트가 캐시의 모든 내용의 유효성을 다시 확인하도록 요청하는 방법입니다. 이 헤더 값을 보내는 것을 중지 시키려면 클라이언트에 아무 것도 보낼 수 없습니다. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3을 참조하십시오. 사용자가 할 수있는 유일한 방법은 응용 프로그램 앞에있는 캐시를 무시하고이를 무시하고 (사용자 에이전트에 따라) 부적절한 것으로 간주 될 내용을 사용자 에이전트에 다시 보내도록하는 것입니다.