2012-02-12 2 views
5

내 application.js 파일 이름은 application-b600352536291bc180983d43e6a2407f.js입니다. 그래서 그것의 이름에 md5 캐시 버스터가 있습니다. 고정 자산에 대한 최대 유효 기간 옵션을 1 시간 config.static_cache_control = "public, max-age=3600"으로 설정했습니다. 그러나 브라우저가 max-age 헤더를 따르지 않고 항상 서버에서 다시 유효성을 검사하고 304 Not Modified에 대한 왕복을하고 있음을 관찰하고 있습니다. 왕복을 어떻게 저장할 수 있습니까?heroku의 스프로킷 최대 나이 헤더

요청 헤더

Request URL:https://blah.com/assets/application-b600352536291bc180983d43e6a2407f.js 
Request Method:GET 
Status Code:304 Not Modified 
Request Headersview source 
Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Cache-Control:max-age=0 
Connection:keep-alive 
If-Modified-Since:Sun, 12 Feb 2012 07:36:16 GMT  

응답 헤더

Cache-Control:public, max-age=3600 
Connection:keep-alive 
Date:Sun, 12 Feb 2012 18:27:48 GMT 
Last-Modified:Sun, 12 Feb 2012 07:36:16 GMT 
Server:nginx 
Vary:Accept-Encoding 
Via:1.1 varnish 
X-Varnish:499878183 
+0

어떤 브라우저를 사용하고 있습니까? 나는 항상 'Cache-Control : max-age = 0'을 보내는 Chrome과 비슷한 경험을했습니다. –

답변

0

당신은 Command + R 또는 Ctrl + R을 눌러 있습니까? 브라우저 새로 고침 단추는 자산의 신선도를 의도적으로 다시 확인합니다. 페이지에서 제대로 작동하지 않아 새로 고침을한다고 가정합니다.

헤더를 테스트하려면 페이지를 한 번 방문한 다음 위치 표시 줄에 포커스를두고 Enter을 두 번 눌러 다시 방문하십시오. 자산은 캐시에서 가져와야합니다.